【发布时间】:2020-07-22 23:24:27
【问题描述】:
我正在开发一个 Chrome 扩展程序,它应该可以帮助我的团队克服某些网站中的问题。 该功能是在单击键盘“输入”按钮时“以编程方式”单击特定网站按钮。
这是我的扩展代码:
document.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
var btn = document.getElementsByClassName("standard")[0].getElementsByClassName("actions")[1].children[1].children[0];
btn.click();
}
});
但是,无论我做什么,我的“代码点击”之后的网站操作与实际按下按钮本身时不同(它有一些副产品)..
由于我不是 JS 方面的专家,我想知道是否有另一个代码 sn-p 是在通过鼠标实际单击按钮时触发的,或者类似的。
我还尝试了一些实际模拟鼠标单击按钮本身的代码,但它也具有完全相同的行为:
function clickLink(link) {
var cancelled = false;
if (document.createEvent) {
var event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false,
0, null);
cancelled = !link.dispatchEvent(event);
}
else if (link.fireEvent) {
cancelled = !link.fireEvent("onclick");
}
}
我非常感谢有关如何触发按钮的任何想法,就像它在本机网站中真正被点击时触发一样。 谢谢!
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: javascript html angularjs dom google-chrome-extension