内に新しいオブジェクトを提供する Chrome 拡張機能を作成したいと思いますwindow
。拡張機能をロードしたブラウザで Web ページを表示するときに、window.mything
Javascript 経由で利用できるようにしたいと考えています。window.mything
オブジェクトには、拡張機能で定義する関数がいくつかあります。これらの関数は、拡張機能が有効になっているブラウザーでページを表示したときに、または任意の Javascript ファイルから呼び出すことができる必要がありますconsole.log
。
Content Scriptを使用して、Javascript ファイルをページに正常に挿入できました。
var s = document.createElement("script");
s.src = chrome.extension.getURL("mything.js");
document.getElementsByTagName("head")[0].appendChild(s);
mything.js は次のようになります。
window.mything = {thing: true};
console.log(window);
ページが読み込まれるたびに、window
オブジェクト全体がコンソールに表示されると思います。ただし、window.mything
コンソールからオブジェクトを操作することはできません。挿入されたスクリプトが実際にはグローバルwindow
オブジェクトを変更していないように見えます。
window
Chrome 拡張機能からグローバル オブジェクトを変更するにはどうすればよいですか?