我的 popup.js:
chrome.tabs.create({ url: "https://mywebsite.com" })
如何在新创建的选项卡中运行此 js?
chrome.tabs.executeScript(null, {
code: "document.getElementById('test').value='test';"
});
答案 0 :(得分:0)
创建标签时,可以传递一个回调函数,接收新创建的标签进行操作。此选项卡有一个 id
,用于指定应在哪个选项卡中执行脚本。除非您指定选项卡 ID,否则脚本将在当前选项卡中执行,而不是在新创建的选项卡中执行。
因此你想要的是大致
chrome.tabs.create({ url: "https://mywebsite.com" }, tab => {
chrome.tabs.executeScript(tab.id, {
code: "document.getElementById('test').value='test';"
});
});
或者更优雅
function createTab(options) {
return new Promise(resolve => {
chrome.tabs.create(options, resolve);
});
}
async function main() {
const tab = await createTab({ url: "https://mywebsite.com" });
chrome.tabs.executeScript(tab.id, {
code: "document.getElementById('test').value='test';"
});
}
main();
有关详细信息,请参阅 Chrome Tab API documentation。