我的内容脚本定义为在每个页面上运行。
我在使用 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
}
});
希望这对您有帮助。
关于javascript - Chrome 扩展程序内容脚本和 document.ready 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729712/