2

新しいウィンドウを作成し、拡張機能からコンテンツを追加するのに問題があります。新しいウィンドウへの参照を失うことなくスクリプトからwindow.openを呼び出すことができないため、chrome.windows.createを使用する必要があります。

基本的に私が欲しいのはこれです:

var newWindow = window.open();
newWindow.document.writeln( 'hello world' );

私のクローム拡張機能で同等のものを作成するために、私はこれを試しています:

chrome.windows.create({ type: 'popup' } , function(newWindow) {
                newWindow.tabs[0].executeScript(null, { code: 'document.write("hello world");' })
            });

新しいウィンドウが作成されましたが、新しく作成されたウィンドウのドキュメントオブジェクトにアクセスできないようです。

4

1 に答える 1

4

コードの問題

  • を使用せずに新しいウィンドウを作成するURLと、とを使用して2つのウィンドウが作成されchrome://newtabますblank 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");'
    });
});
于 2013-01-17T07:01:57.120 に答える