0

我的内容脚本被定义为在每个页面上运行。
我遇到了一个Facebook问题:
假设我加载“http://facebook.com”,我的内容脚本运行,我可以告诉它,因为事件:$(document).ready()被解雇。然后,我按脸谱(我的个人资料页面,或我属于的组)链接,但内容脚本不会再次加载。Chrome扩展内容脚本和document.ready事件

由于url正在更改,因此它被修复,因此内容脚本应该再次运行,不是吗?

+0

通常,内容脚本不需要'document.ready',因为它们在ready事件发生后默认运行。这在jQuery中是可以的,因为如果'ready'已经发生,jQuery只会触发该函数而不是排队等待以后。 – Teepeemm

回答

1

不,因为页面内容被重新加载而不是整个页面。网址的变化并不意味着页面被重新加载。你应该听听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 
    } 
}); 

我希望这可以帮助你改变你可以听。

相关问题