我正在尝试制作一个每 2 分钟重新加载一个选项卡的扩展程序,但我希望它尝试重新加载,即使互联网处于脱机状态(因此它会在重新启动时重新加载)。当窗口出现错误(例如离线)时,使用 location.reload() 不起作用,所以我认为最好的方法是使用 chrome.tabs.reload()。
问题是,所有 chrome.tabs 都会给我一个类似的错误,如果我尝试使用空参数它应该可以工作,因为根据文档它默认为当前选项卡,而是:
chrome.tabs.reload({});
Uncaught TypeError: Cannot call method 'reload' of undefined
如果我尝试获取当前标签 ID:
chrome.tabs.query({currentWindow: true, active: true}, function (tabs) {
console.log(tabs[0]);
});
Uncaught TypeError: Cannot call method 'query' of undefined
同样,每个单曲chrome.tabs
都有类似的错误,“无法调用未定义的 xxyyzz”。好像chrome看不到我的标签,这是怎么回事?
我的 manifest.js 是:
{
"manifest_version": 2,
"name": "test",
"description": "",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"js": ["reload.js"],
"run_at": "document_end"
}
],
"permissions": [
"tabs","storage","http://www.google.com"
]
}