Chrome扩展程序-在URL更新上加载内容脚本

Zizheng Tai

我遇到了这个问题,我想content.js在URL匹配的页面上运行内容脚本https://www.example.com/*我在manifest.json以下定义

{ 
  ...

  "content_scripts": [
    {
      "matches": ["https://www.example.com/*"],
      "js": ["content.js"]
    }
  ],

  ...
}

但是,content.js当用户从另一个页面(例如https://www.foo.bar导航到时(https://www.example.com/*例如通过单击超链接将不会加载仅在用户直接访问时加载https://www.example.com/*

我正在考虑注入content.js所有页面,并chrome.tabs.onUpdate在后台进行监听以查看当前URL是否匹配https://www.example.com/*,并取决于向的发送消息content.js有没有更好的方法来解决此问题?

迈克·图卡诺夫

您可以从后台页面以编程方式注入脚本,从而使要发送/接收消息的功能执行脚本的回调:

function processUrl(tabId, url) {
  if(url.indexOf("https://www.example.com")>-1){
    chrome.tabs.executeScript(tabId, {file:"content.js"}, function() {
      //send and receive msgs  here
    };
  }
}

然后,只需从您的侦听器调用此函数即可。如果要使用库或其他依赖项,请先在库中调用executeScript,然后在第一个调用的回调中将脚本与executeScript一起使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序内容脚本访问扩展程序框架

来自分类Dev

在Chrome扩展程序中停止内容脚本

来自分类Dev

Chrome扩展程序-脚本加载事件?

来自分类Dev

Chrome扩展程序更新流程

来自分类Dev

更新Google Chrome扩展程序

来自分类Dev

chrome.runtime.sendMessage在重新加载Chrome扩展程序后从内容脚本抛出异常

来自分类Dev

Chrome扩展程序在扩展程序上吗?

来自分类Dev

在Chrome扩展程序中将远程脚本作为内容脚本

来自分类Dev

使用Chrome扩展程序更改DOM内容

来自分类Dev

Chrome扩展程序-使用JavaScript更改内容

来自分类Dev

Chrome扩展程序后台脚本中的AngularJS

来自分类Dev

通过脚本安装Google Chrome扩展程序

来自分类Dev

从Chrome扩展程序调用Google Apps脚本

来自分类Dev

Chrome扩展程序注入脚本获取错误

来自分类Dev

Chrome扩展程序中的Google Apps脚本?

来自分类Dev

Chrome扩展程序注入脚本获取错误

来自分类Dev

如何自动重新加载chrome扩展程序?

来自分类Dev

Chrome扩展程序错误加载jQuery

来自分类Dev

Chrome-扩展程序加载时崩溃

来自分类Dev

图像未在chrome扩展程序中加载

来自分类Dev

Chrome扩展程序错误加载jQuery

来自分类Dev

如何自动重新加载chrome扩展程序?

来自分类Dev

Chrome扩展程序在加载前暂停

来自分类Dev

Chrome Webview应用程序以加载扩展

来自分类Dev

Chrome扩展程序未加载EventListener

来自分类Dev

Chrome扩展程序开发Instagram加载事件

来自分类Dev

Chrome扩展程序窗口加载jQuery

来自分类Dev

如何得知Chrome扩展程序何时更新?

来自分类Dev

chrome扩展程序关闭或更新标签