我正在寻找一种干净的方式来调用/执行/重新定义 javascript 代码从网页,在 Firefox 中,通过 Firefox 扩展。我的临时解决方案是使用暂存器(Shift-F4、Ctrl-A、Ctrl-V、Ctrl-R),它可以正常工作,但这是一个可悲的解决方法。Greasemonkey 将是我最后的手段,非常非常最后。
这是到目前为止的代码:
主.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")
});
};
我的脚本.js
$('#mydiv').html('yo')
alreadyHere.sayHello=function (){alert('Bonjour');}
此代码在 my-script.js 的第 1 行停止,说明 $ 未定义。命名空间/范围的问题。
我怎样才能在网页的命名空间/范围内工作,从我的扩展程序,就像我使用暂存器一样?
编辑: firefox主窗口的window.content和网页上的hassHere.sayHello之间应该有一个链接,不是吗?
window.content.(things).alreadyHere.sayHello();
我在这里想念什么?