我有一个Chrome扩展程序需要产生类似人类的鼠标和键盘行为(具体来说,生成具有isTrusted
值的事件true
).除了滚动chrome.debugger
API 之外,我可以做我需要的一切.
但似乎该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
这种情况吗?
我一直在玩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)