Chrome扩展程序-每次加载单个页面多次注入内容脚本
-
27-10-2019 - |
题
我在Chrome扩展程序中多次将内容脚本注入同一页面时遇到了一些问题。
我正在从我的“ background.html”页面上的内容脚本中进行制表符更改: 通用标签
...等
在内容脚本中,我有一些console.log命令
问题在于,当我加载单个页面时,我看到每个日志在控制台中显示2-4次。
我很清楚这是由于页面内的iframe而发生的,我认为至少……我的问题是为什么?
我在文档中看到,默认情况下应将“ all_frames”(清单中的内容脚本权限数组)设置为“ false”,导致内容脚本仅注入到页面的顶部框架,但这是根本没有发生!
为什么要多次注射?我是否需要将“ all_frames”设置为假?
第二:
有没有办法判断扩展程序试图向其注入内容脚本的页面是iframe还是“ background.html”页面中的顶部?
我尝试过 通用标签
,发现它不能100%地工作。即使我在其余代码块中(在chrome.tabs.executeScript()附近)都有该条件,我仍然看到内容脚本多次注入....
任何想法或建议将不胜感激! :)
解决方案
每次标签状态更改时,都会触发
onUpdated
。这包括加载和完成加载的时间,这解释了许多日志语句。
每次事件触发时,您都需要检查更改的内容(更改的URL,加载的URL等)。
不隶属于 StackOverflow