Google chrome extension 创建新窗口并在Chrome Extension中插入动态内容

Google chrome extension 创建新窗口并在Chrome Extension中插入动态内容,google-chrome-extension,Google Chrome Extension,我在创建新窗口和从扩展添加内容时遇到问题。由于我无法在脚本中调用window.open而不丢失对新窗口的引用,因此我不得不使用chrome.windows.create 基本上我想要的是: var newWindow = window.open(); newWindow.document.writeln( 'hello world' ); 为了在我的chrome扩展中创建等价物,我尝试以下方法: chrome.windows.create({ type: 'popup' } , functio

我在创建新窗口和从扩展添加内容时遇到问题。由于我无法在脚本中调用window.open而不丢失对新窗口的引用,因此我不得不使用chrome.windows.create

基本上我想要的是:

var newWindow = window.open();
newWindow.document.writeln( 'hello world' );
为了在我的chrome扩展中创建等价物,我尝试以下方法:

chrome.windows.create({ type: 'popup' } , function(newWindow) {
                newWindow.tabs[0].executeScript(null, { code: 'document.write("hello world");' })
            });
新窗口已创建,但我似乎无法访问新创建窗口的文档对象。

代码中存在问题
  • 如果您创建的新窗口没有任何
    URL
    ,它将创建两个
    chrome://newtab
    和一个
    空白弹出窗口
  • 必须将chrome.tabs.executeScript与正确的参数一起使用,而不是
    newWindow.tabs[0]。executeScript
工作版本 代码中的问题
  • 如果您创建的新窗口没有任何
    URL
    ,它将创建两个
    chrome://newtab
    和一个
    空白弹出窗口
  • 必须将chrome.tabs.executeScript与正确的参数一起使用,而不是
    newWindow.tabs[0]。executeScript
工作版本
先生,你真棒。非常感谢。有没有办法打开一个空白窗口?我尝试过使用“about:blank”,但不起作用。@OmarStewey:直到date才可能。@OmarStewey@Sudarshan,您可以打开一个只包含
的窗口。是否可以使用扩展名中的url创建窗口,即url:“local.html”?当我尝试时,我得到了一个权限错误,“扩展清单必须请求访问此主机的权限。”先生,您真是太棒了。非常感谢。有没有办法打开一个空白窗口?我尝试过使用“about:blank”,但不起作用。@OmarStewey:直到date才可能。@OmarStewey@Sudarshan,您可以打开一个只包含
的窗口。是否可以使用扩展名中的url创建窗口,即url:“local.html”?当我尝试访问时,出现权限错误,“扩展清单必须请求访问此主机的权限。”
chrome.windows.create({
    type: 'popup',
    url: "https://www.google.co.in/"
}, function (newWindow) {
    console.log(newWindow);
    chrome.tabs.executeScript(newWindow.tabs[0].id, {
        code: 'document.write("hello world");'
    });
});