Mousedown 事件侦听器不会在跨源 iframe 上触发

Mousedown event listener does not fire on cross-origin iframe

我在 Chrome 上的浏览​​器扩展内容脚本中使用 document.addEventListener("mousedown", function (event) {...}, true); 来监听 mousedown 事件。当单击 www.icloud.com 上的用户名字段时,它不会触发,而它在我测试过的所有其他网站上都能正常工作。我发现登录表单是从 idmsa.apple.com.

加载的 iframe

点击跨域 iframe 中的字段时是否可以触发事件侦听器,或者由于同源策略而无法实现?

我发现了问题。调用 chrome.tabs.executeScript({file:"content.js", allFrames:true});if (details.frameId === 0) 包围。删除此条件后,我注意到由于日志中的错误消息,manifest.json 中缺少权限 tabs。似乎权限 activeTab 足以将内容脚本注入顶部框架,但对于子框架 tabs 是必需的。