javascript - 在打开新标签页时触发 Chrome 扩展程序

标签 javascript google-chrome google-chrome-extension

我需要在打开新标签页并加载 html 文档时运行 Chrome 扩展程序。

扩展需要检查新的标签标题,如果它等于预定义的字符串,标签应该关闭。

目前,我已经设法编写了当我点击它的图标时可以运行的扩展。但我想让它在页面加载到新选项卡后无需单击图标即可运行。

这是当前代码。

function getCurrentTabData(callback) {
  var queryInfo = {
    active: true,
    currentWindow: true
  };
  chrome.tabs.query(queryInfo, function(tabs) {
    var tab = tabs[0];
    var title = tab.title;
    var id = tab.id;
    callback(title, id);
  });
}

document.addEventListener('DOMContentLoaded', function() {

  getCurrentTabData(function(title, id) {

    if(title == 'Page title') {
        chrome.tabs.remove(id, function() { });
    }

  });
});

这是我的 manifest.json

{
  "manifest_version": 2,

  "name": "Auto close tab",
  "description": "Auto closes tab if title is matched",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png"
  },
  "permissions": [
    "activeTab"
  ]
}

如何让它在不点击图标的情况下运行?

最佳答案

要完成此操作,首先您需要有一个后台页面来管理您的扩展状态。您可以在这里阅读:https://developer.chrome.com/extensions/background_pages

然后在后台页面脚本中,您需要在使用这段代码创建选项卡时进行监听:

chrome.tabs.onCreated.addListener(function callback)

这是相关文档:https://developer.chrome.com/extensions/tabs#event-onCreated

希望这有助于解决您的问题。

关于javascript - 在打开新标签页时触发 Chrome 扩展程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29067198/

相关文章:

javascript - 当覆盖菜单打开时隐藏主滚动条

javascript - 根据属性计算对象中的项目总数

javascript - 使用 JQuery 或 JavaScript 覆盖 Chrome 浏览器拼写检查语言

java - Selenium 可移植 Chrome 打开 CMD

javascript - 不能依赖 chrome.tabs.move 中的索引

javascript - list 文件中的 update_url 禁用我的 chrome 扩展

javascript - 如何在其他可观察对象完成时返回可观察对象

javascript - 如何通过 ajax 响应在浏览器中设置 cookie

google-chrome - 在Grails中设置 session 变量时奇怪的Web浏览器行为

javascript - 如何增加通知时间