Google chrome extension 如何获取使用';chrome.tabs.create()';?

Google chrome extension 如何获取使用';chrome.tabs.create()';?,google-chrome-extension,Google Chrome Extension,我试图打开一个新选项卡,然后在该新选项卡的上下文中执行内容脚本。我试着这样做: chrome.tabs.create({ url: 'main.html' }, function(tab) { chrome.tabs.executeScript(tab.id, { code: 'console.log(window.name)' }); }); 但这似乎不起作用,有没有办法直接访问我新创建的选项卡的窗口对象(类似于chrome.extension.getView

我试图打开一个新选项卡,然后在该新选项卡的上下文中执行内容脚本。我试着这样做:

chrome.tabs.create({ url: 'main.html' }, function(tab) {
    chrome.tabs.executeScript(tab.id, {
        code: 'console.log(window.name)'
    });
});

但这似乎不起作用,有没有办法直接访问我新创建的选项卡的窗口对象(类似于
chrome.extension.getViews({tabId:tab.id})
)?

我相信您调用的是属于您的扩展的页面。 内容脚本不能在Chrome的扩展页面中注入,所以最好的选择是将内容脚本作为脚本包含在页面本身中

标记添加到页眉,然后在那里运行代码

如果需要,您可以使用
localStorage
,以便在加载页面之前将数据/值传输到页面

资料来源:

  • developer.chrome:

我相信您所呼叫的是属于您分机的页面。 内容脚本不能在Chrome的扩展页面中注入,所以最好的选择是将内容脚本作为脚本包含在页面本身中

标记添加到页眉,然后在那里运行代码

如果需要,您可以使用
localStorage
,以便在加载页面之前将数据/值传输到页面

资料来源:

  • developer.chrome:

可能重复的可能重复的结果是,这里有一个开放的功能请求(),正是我想要的。不幸的是,它没有得到实施的机会,所以我必须想出一种polyfill/解决方法。任何关于我如何实现这一目标的想法都将不胜感激!这是一个重大的安全问题,我希望它不会被实现。作为一种解决方法,可以使用消息传递或本地存储将参数传递给页面,并从内部执行代码。请记住,您完全控制了页面。事实证明,这里有一个开放的特性请求()正是我要寻找的。不幸的是,它没有得到实施的机会,所以我必须想出一种polyfill/解决方法。任何关于我如何实现这一目标的想法都将不胜感激!这是一个重大的安全问题,我希望它不会被实现。作为一种解决方法,可以使用消息传递或本地存储将参数传递给页面,并从内部执行代码。请记住,您完全可以控制页面。。