Firefox拡張機能を使用して、Firefox内でWebページからJavaScriptコードを呼び出し/実行/再定義するクリーンな方法を探しています。私の一時的な解決策は、スクラッチパッド (Shift-F4、Ctrl-A、Ctrl-V、Ctrl-R) を使用することです。問題なく動作しますが、残念な回避策です。Greasemonkey は私の最後の手段です。
これまでのコードは次のとおりです。
main.js:
exports.main = function() {
var data = require("self").data;
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.google.com",
contentScriptFile: data.url("my-script.js")
});
};
my-script.js
$('#mydiv').html('yo')
alreadyHere.sayHello=function (){alert('Bonjour');}
このコードは my-script.js の 1 行目で停止し、$ が定義されていないことを示しています。名前空間/スコープの問題。
スクラッチパッドのように、拡張機能から Web ページの名前空間/スコープ内で作業するにはどうすればよいですか?
編集: Firefox のメイン ウィンドウのwindow.contentと Web ページのalreadyHere.sayHelloの間にリンクがあるはずですよね?
window.content.(things).alreadyHere.sayHello();
ここで何が欠けていますか?