gpt4 book ai didi

javascript - 如何从 firefox 扩展程序在网页的命名空间(范围)中执行 javascript 代码?

转载 作者:行者123 更新时间:2023-11-30 05:52:21 26 4
gpt4 key购买 nike

我正在寻找一种干净的方法来通过 firefox 扩展程序在 firefox 中从网页调用/执行/重新定义 javascript 代码。我的临时解决方案是使用暂存器(Shift-F4、Ctrl-A、Ctrl-V、Ctrl-R),它工作正常但是是一个令人遗憾的解决方法。 Greasemonkey 将是我最后的选择,非常非常最后。

这里是目前为止的代码:

ma​​in.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 和网页的alreadyHere.sayHello 之间应该有一个链接,不是吗?

window.content.(things).alreadyHere.sayHello();

我在这里错过了什么?

最佳答案

该死的。

window.content.document.defaultView.wrappedJSObject.$('#mydiv').html('yo')
window.content.document.defaultView.wrappedJSObject.alreadyHere.sayHello();

谢谢 Mridang Agarwalla here

关于javascript - 如何从 firefox 扩展程序在网页的命名空间(范围)中执行 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com