我正在构建一个谷歌浏览器扩展程序,并希望在每个新页面上自动加载我的扩展程序,以便我可以获取当前网址并在数据库中为其检查一些数据。我想像广告拦截器一样做到这一点,并显示有多少广告被徽章文本阻止。无论如何,我不明白在我打开的每个新页面上自动加载它。它加载一次,然后停留在那里。只有当我单击图标以获取弹出窗口时,它才会重新加载.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
}
}
我的背景.js看起来像这样
chrome.windows.onFocusChanged.addListener(function(){
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
// do some stuff with the new url
});
});
有人有提示吗?
我会使用chrome.tabs API而不是chrome.windows API。http://developer.chrome.com/extensions/tabs.html
onCreated 事件和 onUpdated 事件应该可以工作。
chrome.tabs.onCreated.addListener(function callback)
chrome.tabs.onUpdate.addListener(function callback)