WebExtension:收集当前页面所有iframe上的信息

时间:2018-07-20 15:40:11

标签: javascript iframe firefox-webextensions

我正在编写一个WebExtension,用于使用网页中的给定条件标识字段。

每个页面和iframe都加载了内容脚本,可以很好地识别并突出显示这些字段。

现在,我想计算用户看到的页面中所说字段的总数,即包括它的iframe,并在browserAction图标上显示该数字(因为 adblock 显示一个计数其操作图标)。

我的计划是在操作脚本中使用setBadgeText清除当前计数器,然后发出tabs.sendMessage({req:"countFields"}),然后让每个内容脚本通过获取badgeText的当前值来响应该消息。并增加它在页面部分找到的字段数。

嗯,效果不好。当网页包含iFrame时,我得到的价格不稳定。我猜这是一个同步问题,当页面不同部分的内容脚本尝试获取徽章值并更新它时。

我也尝试过从顶级内容脚本("all_frames":false)浏览window.frames,但这也不起作用,因为跨脚本错误会阻止我下降所有iFrame(使用在线例如 tinyMce 的版本)

现在,我正在寻求有关如何解决我的问题的帮助和建议。 任何线索或指针都将非常受欢迎!

1 个答案:

答案 0 :(得分:0)

我找到了这个问题的答案!

由于我相信知道在哪里找到特定类型问题的答案(在这里,WebExtension开发)是答案的一部分,因此我在正确的位置提供了该答案的链接,而不仅仅是在这里重复给我的内容在那里。

https://discourse.mozilla.org/t/collect-infos-on-all-iframes-of-current-page-solved/30453