chrome.tabs.Tab 未在 popup.js 脚本中定义
chrome.tabs.Tab is undefined from popup.js script
我正在浏览 Chrome 分机 "Getting started guide":
其中一节提到了这段代码
chrome.tabs.executeScript(
tabs[0].id,
{code: 'document.body.style.backgroundColor = "' + color + '";'});
};
我在 tabs[0].id
上收到未定义的错误。现在 API 文档指出 chrome.tabs.Tab
可以访问,但我似乎无法获取它。我做错了什么?
您必须查询选项卡。
如果你想在所有标签中执行代码。您可以使用此代码。
chrome.tabs.query({}, function(tabs) {
var message = {foo: bar};
for (var i=0; i<tabs.length; ++i) {
chrome.tabs.executeScript(tabs[0].id, {
code: 'document.body.style.backgroundColor = "' + color + '";'
});
};
}
});
如果您只想在当前选项卡中执行代码。您可以使用此代码。
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.executeScript(tabs[0].id, {
code: 'document.body.style.backgroundColor = "' + color + '";'
});
};
});
请检查您的清单文件,您需要在 manifest.json
文件中授予相关权限:
"permissions": ["activeTab"],
授予对选项卡的访问权限API尚未授予
我正在浏览 Chrome 分机 "Getting started guide":
其中一节提到了这段代码
chrome.tabs.executeScript(
tabs[0].id,
{code: 'document.body.style.backgroundColor = "' + color + '";'});
};
我在 tabs[0].id
上收到未定义的错误。现在 API 文档指出 chrome.tabs.Tab
可以访问,但我似乎无法获取它。我做错了什么?
您必须查询选项卡。
如果你想在所有标签中执行代码。您可以使用此代码。
chrome.tabs.query({}, function(tabs) {
var message = {foo: bar};
for (var i=0; i<tabs.length; ++i) {
chrome.tabs.executeScript(tabs[0].id, {
code: 'document.body.style.backgroundColor = "' + color + '";'
});
};
}
});
如果您只想在当前选项卡中执行代码。您可以使用此代码。
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.executeScript(tabs[0].id, {
code: 'document.body.style.backgroundColor = "' + color + '";'
});
};
});
请检查您的清单文件,您需要在 manifest.json
文件中授予相关权限:
"permissions": ["activeTab"],
授予对选项卡的访问权限API尚未授予