以下は私の最初の試みです。まず、テスト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サイトで機能を実行することは可能ですか?