0

考え方は単純です。ウィンドウを開き、その新しいウィンドウで chrome.tabs.executeScript を呼び出します。

残念ながら、新しいウィンドウを開く以外には何もしません。

function openc(url) {
  window.open(url);
  chrome.tabs.executeScript(null, {file: "removeContent.js"});
  console.log("hi");
}

document.addEventListener('DOMContentLoaded', function () {
  openc("http://www.asdf.com/");
});
4

1 に答える 1

0

まず、ページを操作するためのホスト権限があることを確認してください。

常に特定のページでスクリプトを実行したい場合は、マニフェスト ファイルを介して登録することにより、コンテンツ スクリプトのみを使用するだけで十分です。

  "content_scripts": [
    {
      "matches": ["http://example.com/*"],
      "js": ["open-asdf.js"]
    },
    {
      "matches": ["http://www.asdf.com/*"],
      "js": ["removeContent.js"]
    }
  ],

新しいページのコンテンツ スクリプトを動的に実行する場合は、chrome.tabs.createメソッドを使用して新しいタブを開き、スクリプトをコールバックに挿入する必要があります。これらのメソッドは拡張機能のプロセスでのみ使用できるため、コードが background/event/popup/options/.. ページで実行されていることを確認してください。

chrome.tabs.create({
    url: 'http://www.asdf.com/'
}, function(tab) {
    chrome.tabs.executeScript(tab.id, {file: "removeContent.js"}, function() {
        if (chrome.runtime.lastError) {
            console.error(chrome.runtime.lastError.message);
        }
    });
});
于 2013-06-28T07:29:14.843 に答える