Sro*_*rol 23 javascript javascript-events google-chrome-extension
我正在尝试使用Chrome扩展程序模拟用户点击和鼠标移动.
例如:在我的内容脚本中有一个按钮单击.
document.querySelector("SOME_SELECTOR").click();
Run Code Online (Sandbox Code Playgroud)
此行触发具有以下属性的click事件:
MouseEvent {isTrusted: false}
Run Code Online (Sandbox Code Playgroud)
如何触发isTrusted属性为true的MouseEvent?
您可以使用调试器接口注入受信任的事件.
chrome.debugger.attach(target, "1.2", function() {
chrome.debugger.sendCommand(target, "Input.dispatchMouseEvent", arguments)
})
Run Code Online (Sandbox Code Playgroud)
https://developer.chrome.com/extensions/debugger
https://chromedevtools.github.io/devtools-protocol/1-2/Input
我不确定这是否可能,因为它是一个只读属性,它准确地表示您要伪造的内容,即事件是否源自最终用户或脚本。过去存在基于浏览器的差异(IE 过去将所有事件视为可信),但我不知道情况是否仍然如此。
https://developer.mozilla.org/en-US/docs/Web/API/Event
可能仍然有办法解决这个问题,正如本主题中针对 Firefox 所提到的:Firefox 扩展生成的事件“可信”吗?
但是您必须查看 chrome 文档,以检查它们是否具有将事件委托回窗口的类似方法,因为它确实提到扩展事件在某些情况下可以被信任。
| 归档时间: |
|
| 查看次数: |
8306 次 |
| 最近记录: |