1

我的内容脚本定义为在每个页面上运行。
我在使用 Facebook 时遇到了问题:
假设我加载了“ http://facebook.com ”,我的内容脚本运行并且我可以告诉它,因为事件:$(document).ready() 被触发了。然后,我按下 facebook 内的链接(我的个人资料页面,或我所属的组),但内容脚本没有再次加载。

这很奇怪,因为 url 正在改变,所以内容脚本应该再次运行,不是吗?

4

1 回答 1

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
  }
});

我希望这可以帮助你。

于 2013-03-31T14:01:43.540 回答