小编Jea*_*eri的帖子

如何从Blob转到ArrayBuffer

我正在研究Blob,我注意到当你有一个ArrayBuffer时,你可以很容易地将它转换为Blob,如下所示:

var dataView = new DataView(arrayBuffer);
var blob = new Blob([dataView], { type: mimeString });
Run Code Online (Sandbox Code Playgroud)

我现在的问题是,是否可以从Blob转到ArrayBuffer?

javascript blob arraybuffer

100
推荐指数
7
解决办法
11万
查看次数

如何在业力单元测试期间修复404警告图像

我使用grunt/karma/phantomjs/jasmine对我的一个指令(angularjs)进行单元测试.我的测试运行良好

describe('bar foo', function () {
    beforeEach(inject(function ($rootScope, $compile) {
        elm = angular.element('<img bar-foo src="img1.png"/>');
        scope = $rootScope.$new();
        $compile(elm)();
        scope.$digest();
    }));
    ....
});
Run Code Online (Sandbox Code Playgroud)

但我确实得到了这些404

WARN [web-server]: 404: /img1.png
WARN [web-server]: 404: /img2.png
...
Run Code Online (Sandbox Code Playgroud)

虽然它们什么也不做,但它们确实会给日志输出增加噪音.有没有办法来解决这个问题 ?(当然,不改变业力的logLevel,因为我确实希望看到它们)

javascript unit-testing http-status-code-404 angularjs karma-runner

79
推荐指数
5
解决办法
4万
查看次数

angularjs:ng-switch-when中的多个值

我有以下ngSwitch:

<p ng-switch="status">
    <span ng-switch-when="wrong|incorrect">
       Wrong
    </span>
    <span ng-switch-default>
       Correct
    </span>
</p>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我有文本Wrong的两个选项wrongcorrect.我试过(你可以看到)使用管道|,但这不起作用.有什么建议 ?

angularjs ng-switch

58
推荐指数
5
解决办法
8万
查看次数

如何在Typescript中使用默认值定义可选的构造函数参数

是否可以使用默认值的可选构造函数参数,如下所示

export class Test {
    constructor(private foo?: string="foo", private bar?: string="bar") {}
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

参数不能有问号和初始化器.

我想创建像这样的实例

x = new Test();               // x.foo === 'foo'            
x = new Test('foo1');         // x.foo === 'foo1'
x = new Test('foo1', 'bar1');
Run Code Online (Sandbox Code Playgroud)

实现这一目标的正确打字方式是什么?

javascript typescript

44
推荐指数
2
解决办法
3万
查看次数

找到第一个可滚动的父级

我有这种情况需要将元素滚动到视口中.问题是我不知道哪个元素是可滚动的.例如,在Portrait中,body是可滚动的,而在Landscape中它是另一个元素(并且有更多情况可以改变可滚动元素)

现在的问题是,给定一个需要滚动到视口中的元素,找到第一个可滚动父级的最佳方法是什么?

我在这里设置了一个演示.使用按钮,您可以在两种不同的情况之间切换

<div class="outer">
    <div class="inner">
        <div class="content"> 
            ...
            <span>Scroll me into view</span>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

身体是可滚动的或 .outer

有什么建议 ?

javascript html5 css3

39
推荐指数
4
解决办法
2万
查看次数

如何检查Promise是否有待处理

我有这种情况,我想知道一个承诺的状态.下面,该函数startsomeTest在它不再运行时调用(Promise未挂起).该start函数可以多次调用,但如果在测试仍在运行时调用它,它将不会等待并返回false

class RunTest {
    start() {
         retVal = false;

         if (!this.promise) {
             this.promise = this.someTest();
             retVal = true;                
         }

         if ( /* if promise is resolved/rejected or not pending */ ) {
             this.promise = this.someTest();
             retVal = true;
         }

         return retVal;
    }

    someTest() {
        return new Promise((resolve, reject) => {
            // some tests go inhere
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我找不到简单检查承诺状态的方法.喜欢的东西this.promise.isPending会很好:)任何帮助将不胜感激!

javascript promise ecmascript-6 es6-promise

39
推荐指数
1
解决办法
4万
查看次数

如何对DOM操作进行单元测试(使用jasmine)

我需要用jasmine对一些DOM操作函数进行单元测试(目前我在浏览器和Karma中运行我的测试)

我想知道这样做的最佳方法是什么?

例如,我可以模拟和存根窗口记录对象并监视它们的一些功能.但这并不是一个简单的解决方案,所以这就是为什么我问这个问题!

或者是否有更好的方法(不使用茉莉花)来做到这一点?

非常感谢

unit-testing dom-manipulation jasmine

38
推荐指数
1
解决办法
2万
查看次数

android上的keyCode总是229

在我的三星Galaxy标签4(Android 4.4.2,Chrome:49.0.2623.105)上,我遇到了keyCode始终为229的情况.

我为两种情况设置了一个简单的测试

<div contenteditable="true"></div>
<input>
<span id="keycode"></span>
Run Code Online (Sandbox Code Playgroud)

脚本:

$('div, input').on('keydown', function (e) {
    $('#keycode').html(e.keyCode);
});
Run Code Online (Sandbox Code Playgroud)

DEMO

幸运的是,我可以找到关于此的帖子,但我找不到一个有效的解决方案.有人建议改为使用keyup或使用该textInput事件,但只会触发该事件blur.

现在,最重要的是,默认股票浏览器不会发生这种情况:(

任何帮助,将不胜感激!

更新:如果事实证明这是不可能的,我仍然可以在插入符号之前抓取字符:post

html javascript android keyevent

37
推荐指数
4
解决办法
3万
查看次数

setup pre-commit hook jshint

我最近在github上开了一个项目.我使用Travis在每次提交后设法自动进行测试.但是现在我想用jshint设置一个pre-commit钩子.因此,如果jshint报告错误,则提交失败.但这是否可能,如果是这样,该怎么做?

git github pre-commit-hook jshint

35
推荐指数
3
解决办法
2万
查看次数

如何禁用npm的进度条

正如这里指出的那样,npm的进度条显着降低了整个安装进度.给出的解决方案是禁用它

$> npm set progress=false && npm install
Run Code Online (Sandbox Code Playgroud)

我有一个问题,是否可以在项目中设置一些东西(例如在package.json中),这样我可以progress=false在命令行中省略并且可以做到$> npm install并获得与上面相同的结果?

performance node.js npm

28
推荐指数
3
解决办法
1万
查看次数