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
是必需的。
我在 Chrome 上的浏览器扩展内容脚本中使用 document.addEventListener("mousedown", function (event) {...}, true);
来监听 mousedown
事件。当单击 www.icloud.com
上的用户名字段时,它不会触发,而它在我测试过的所有其他网站上都能正常工作。我发现登录表单是从 idmsa.apple.com
.
点击跨域 iframe 中的字段时是否可以触发事件侦听器,或者由于同源策略而无法实现?
我发现了问题。调用 chrome.tabs.executeScript({file:"content.js", allFrames:true});
被 if (details.frameId === 0)
包围。删除此条件后,我注意到由于日志中的错误消息,manifest.json
中缺少权限 tabs
。似乎权限 activeTab
足以将内容脚本注入顶部框架,但对于子框架 tabs
是必需的。