创建新窗口并在Chrome扩展程序中插入动态内容

时间:2013-01-17 06:41:45

标签: google-chrome-extension

我在创建新窗口并添加扩展程序中的内容时遇到问题。由于我无法从脚本中调用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");' })
            });

创建了新窗口,但是我似乎无法访问新创建的窗口的文档对象。

1 个答案:

答案 0 :(得分:3)

代码中的问题

  • 如果您创建的新窗口没有任何URL,则会创建两个包含chrome://newtabblank popup window的窗口。
  • 您必须使用chrome.tabs.executeScript,其参数不是newWindow.tabs[0].executeScript

工作版

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");'
    });
});