4

重複の可能性:
Chrome拡張機能の構築-コンテンツスクリプトを使用してページにコードを挿入します

以下は私の最初の試みです。まず、テストWebページを作成しました。

--test.html-

<HTML>
<SCRIPT src="script.js"></SCRIPT>
</HTML>

--script.js-

function testFunction() {
  console("function successfully run!");
}

次に、コンテンツスクリプトからtestFunction()を実行できるかどうかを確認するために、非常に単純な拡張機能を作成しました。

--manifest.json-

{
  "name": "Function Test",
  "manifest_version": 2,
  "version": "1",
  "description": "An extension to experiment with running the javascript functions of the website being browsed.",
  "permissions": ["<all_urls>"],
  "content_scripts": [
    {
      "all_frames": true,
      "matches": ["<all_urls>"],
      "js": ["cs.js"],
      "run_at": "document_end"
    }
  ]
}

--cs.js-

scriptNodes = document.getElementsByTagName("script");
script = scriptNodes[0];
console.log(script.src);
script.testFunction();

コンソール出力は次のとおりです。

file:///C:/.../script.js
Uncaught TypeError: Object #<HTMLScriptElement> has no method 'testFunction'

では、Chrome拡張機能を使用して閲覧しているWebサイトで機能を実行することは可能ですか?

4

1 に答える 1

1

無理そうです。

#4658143http://code.google.com/chrome/extensions/content_scripts.htmlを参照してください

ただし、コンテンツ スクリプトにはいくつかの制限があります。彼らがすることはできません:

  • chrome.* API を使用する (chrome.extension の一部を除く)
  • 拡張機能のページで定義された変数または関数を使用する
  • Web ページまたは他のコンテンツ スクリプトによって定義された変数または関数を使用する
于 2012-11-05T20:40:00.253 に答える