0

我正在构建一个 Google Chrome 扩展程序,并希望在每个新页面上自动加载我的扩展程序,以便我可以获取当前 url 并在数据库中为它检查一些数据。我想像广告拦截器那样做,并显示有多少广告被徽章文本拦截。无论如何,我不会让它在我打开的每个新页面上自动加载。它加载一次,然后停留在那里。它仅在我单击图标以获取 popup.html 时重新加载。

这是我的清单:

{
  "manifest_version": 2,

  "name": "Some name",
  "description": "Some desc.",
  "version": "1.0",
  "permissions": [
    "tabs",
    "background"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  }
}

我的 background.js 看起来像这样

chrome.windows.onFocusChanged.addListener(function(){
    chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
        // do some stuff with the new url
    });
});

有人有提示吗?

4

1 回答 1

1

我会使用 chrome.tabs API 而不是 chrome.windows API。 http://developer.chrome.com/extensions/tabs.html

onCreated 事件和 onUpdated 事件应该可以工作。

chrome.tabs.onCreated.addListener(函数回调)

chrome.tabs.onUpdated.addListener(函数回调)

于 2013-09-08T12:59:40.863 回答