我的内容脚本定义为在每个页面上运行。
我在使用 Facebook 时遇到了问题:
假设我加载了“ http://facebook.com ”,我的内容脚本运行并且我可以告诉它,因为事件:$(document).ready() 被触发了。然后,我按下 facebook 内的链接(我的个人资料页面,或我所属的组),但内容脚本没有再次加载。
这很奇怪,因为 url 正在改变,所以内容脚本应该再次运行,不是吗?
我的内容脚本定义为在每个页面上运行。
我在使用 Facebook 时遇到了问题:
假设我加载了“ http://facebook.com ”,我的内容脚本运行并且我可以告诉它,因为事件:$(document).ready() 被触发了。然后,我按下 facebook 内的链接(我的个人资料页面,或我所属的组),但内容脚本没有再次加载。
这很奇怪,因为 url 正在改变,所以内容脚本应该再次运行,不是吗?
不,因为页面内容是重新加载的,而不是整个页面。网址更改并不意味着该页面已重新加载。你应该听听 url 本身的变化。如果 URl 更改执行一些代码。
如果使用此方法更改选项卡的url,您可以监听
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.url != null) { // check this condition, I didn't remember what is returned if the url didn't change.
// your code
}
});
我希望这可以帮助你。