小编Bri*_*fer的帖子

为什么调用Window.scroll()会给出一个受信任的事件?

我有一个Chrome扩展程序需要产生类似人类的鼠标和键盘行为(具体来说,生成具有isTrusted值的事件true).除了滚动chrome.debuggerAPI 之外,我可以做我需要的一切.

但似乎该Window.scroll()方法足以达到Chrome 52和Firefox 48.0a1的目的.通过将事件侦听器附加到页面可以观察到这一点,如下所示:

document.addEventListener("scroll", function (event) { 
    console.log("event trusted? " + event.isTrusted);
});
Run Code Online (Sandbox Code Playgroud)

然后window.scroll(0, 10);在开发者控制台中运行类似的东西.这将登录event trusted? true到开发人员控制台.

我的问题是:为什么会这样?由于滚动事件是由脚本明确生成的,因此isTrusted属性不应该是false这种情况吗?

javascript javascript-events

10
推荐指数
2
解决办法
1108
查看次数

JavaScript Promises和setTimeout

我一直在玩Promises,但我无法通过以下代码了解正在发生的事情:

function a() { 
    return new Promise(function (resolve, reject) { 
        resolve("hi from a!");
    });
}

function b() { 
    return new Promise(function (resolve, reject) { 
        setTimeout(function () { 
            resolve("hi from b!");
        }, 5000);
    });
}

function c() { 
    return new Promise(function (resolve, reject) { 
        setTimeout(function () { 
            resolve("hi from c!");
        }, 1000);
    });
}

a().then(function (resultFromA) {
    console.log("a() responded with: " + resultFromA);
    b();
}).then(function (resultFromB) { 
    console.log("b() responded with: " + resultFromB);
    c();
}).then(function (resultFromC) { 
    console.log("c() responded with: " …
Run Code Online (Sandbox Code Playgroud)

javascript es6-promise

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