是由在主页面上下文中传播的Chrome扩展触发的DOM事件
Are DOM events triggered from a Chrome extension propagated in the main page’s context?
我正在尝试编写一个Chrome扩展,以编程方式将点击事件发送到页面上的特定链接。这个特定的链接在页面上有已知的点击事件处理程序,我可以通过Chrome的web检查器看到。
我在Chrome扩展的content_page
脚本中用jQuery .click()
发送这个点击事件,但看起来处理程序没有启动。当控制台记录jQuery .click()
调用的结果时,我可以看到预期的返回值正在返回,所以我知道这段代码实际上正在运行。Ch
我知道这个jQuery代码是有效的,因为我可以将同一行粘贴到该页面的Chrome控制台中,并获得我期望的结果。
我疯狂地认为我可以从扩展的content_page
触发DOM事件吗?我知道content_page
在一个单独的环境中执行,但我非常确信触发的DOM事件在这两个环境中都是冒泡的。
(如果我不是疯了,你会如何进行调试?)
答案是YES–点击事件确实传播,但当我用jQuery将.click()
发送到的DOM元素作为目标时,会发生一些奇怪的事情,但它在使用getElementsByClassName()
等原生DOM遍历函数时有效。
解决之谜:只需使用vanillaJS方法在DOM元素本身上调用click()
,而不是使用jQuery封装的版本。
相关文章:
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 从选项页面更新chrome扩展清单权限
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- Chrome扩展:遍历不同的页面并收集数据
- Chrome扩展 chrome.storage 如何同时进行大量获取和设置并避免竞争条件
- Chrome扩展:Chrome.tabs.executeScript不工作
- 中的访问扩展chrome://extensions页
- 如何在扩展Chrome DevTool时检索请求的启动器
- Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
- 是否有任何方法来扩展chrome's __commandLineAPI
- 谷歌Chrome扩展Chrome .tab . onupdate . addlistener
- 创建在页面上注入脚本的扩展chrome内容
- Chrome扩展:Chrome扩展中未定义的变量,即使它存在于控制台中