javascript - Chrome 扩展程序内容脚本和 document.ready 事件

标签 javascript jquery google-chrome google-chrome-extension document-ready

我的内容脚本定义为在每个页面上运行。
我在使用 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/

相关文章:

javascript - 加载后立即使表单无效

javascript - 使用 jQuery 创建 JS 执行阻塞对话框

jquery 验证和错误样式

javascript - Opera 和 Chrome 中的电子邮件验证问题

php - Chrome CSS 更改直接出现在源 css 文件中

javascript - 如何使用 Javascript 清除基于复选框的文本框

javascript - 从 JavaScript Promise 回调主体外部访问数据时出错

jquery - 当您处于 "tagging"模式时,如何初始化 jquery select2 项目?

javascript - OSS Chrome 扩展 - 我应该 checkin pem 文件吗?

javascript - ColorBox Onclose 函数不起作用