Chrome 扩展 运行 新标签页中的 js
Chrome extension run js in new tab
我的popup.js:
chrome.tabs.create({ url: "https://mywebsite.com" })
如何在新创建的标签页中 运行 这个 js?
chrome.tabs.executeScript(null, {
code: "document.getElementById('test').value='test';"
});
创建标签时,可以通过回调函数接收新建标签进行操作。此选项卡有一个 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();
我的popup.js:
chrome.tabs.create({ url: "https://mywebsite.com" })
如何在新创建的标签页中 运行 这个 js?
chrome.tabs.executeScript(null, {
code: "document.getElementById('test').value='test';"
});
创建标签时,可以通过回调函数接收新建标签进行操作。此选项卡有一个 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();