WebExtension:收集当前页面所有iframe的信息
WebExtension: collect infos on all iframes of current page
我正在编写一个 WebExtension,它使用网页中的给定标准来识别字段。
随每个页面一起加载的内容脚本和 iframe 可以很好地识别和突出显示这些字段。
现在我想计算用户看到的页面中所述字段的总数,即包括它的 iframe,并在 browserAction 图标上显示这个数字(如 adblock 在其操作图标上显示计数)。
我的计划是在操作脚本中使用 setBadgeText
来清除当前计数器,然后发出一个 tabs.sendMessage({req:"countFields"})
,然后让每个内容脚本通过获取当前值来响应该消息badgeText 并增加它在其页面部分找到的字段数。
嗯,这不是很好。当页面包含 iFrame 时,我得到了不稳定的值。我猜这是一个同步问题,当来自页面不同部分的内容脚本尝试获取徽章值并更新它时。
我还尝试从顶级内容脚本 ("all_frames":false
) 浏览 window.frames,但这也行不通,因为跨脚本错误会阻止我降低所有 iFrame (以在线版tinyMce为例)
好吧,在这一点上,我正在寻求有关如何解决我的问题的帮助和建议。
非常欢迎任何线索或指示!
我找到了那个问题的答案!
因为我相信知道在哪里可以找到特定类型问题的答案(这里是 WebExtension 开发)是答案的一部分,所以我在正确的地方给出了 link 而不是仅仅在这里重复那里给我的东西。
https://discourse.mozilla.org/t/collect-infos-on-all-iframes-of-current-page-solved/30453
我正在编写一个 WebExtension,它使用网页中的给定标准来识别字段。
随每个页面一起加载的内容脚本和 iframe 可以很好地识别和突出显示这些字段。
现在我想计算用户看到的页面中所述字段的总数,即包括它的 iframe,并在 browserAction 图标上显示这个数字(如 adblock 在其操作图标上显示计数)。
我的计划是在操作脚本中使用 setBadgeText
来清除当前计数器,然后发出一个 tabs.sendMessage({req:"countFields"})
,然后让每个内容脚本通过获取当前值来响应该消息badgeText 并增加它在其页面部分找到的字段数。
嗯,这不是很好。当页面包含 iFrame 时,我得到了不稳定的值。我猜这是一个同步问题,当来自页面不同部分的内容脚本尝试获取徽章值并更新它时。
我还尝试从顶级内容脚本 ("all_frames":false
) 浏览 window.frames,但这也行不通,因为跨脚本错误会阻止我降低所有 iFrame (以在线版tinyMce为例)
好吧,在这一点上,我正在寻求有关如何解决我的问题的帮助和建议。 非常欢迎任何线索或指示!
我找到了那个问题的答案!
因为我相信知道在哪里可以找到特定类型问题的答案(这里是 WebExtension 开发)是答案的一部分,所以我在正确的地方给出了 link 而不是仅仅在这里重复那里给我的东西。
https://discourse.mozilla.org/t/collect-infos-on-all-iframes-of-current-page-solved/30453