gpt4 book ai didi

javascript - 如何允许插件的内容脚本从当前选项卡访问 Javascript 变量?

转载 作者:行者123 更新时间:2023-11-30 12:47:57 24 4
gpt4 key购买 nike

假设我的附加组件必须从网页访问 Javascript 变量。我们以https://mozilla.org为例.有一个名为 optimizelyCode 的全局变量。只有当此变量可访问时,我的插件才会工作。

如何让我的 pageMod 做到这一点?

为了进行实验,这里有一些教程脚本:

var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");

var widget = widgets.Widget({
id: "mozilla-link",
label: "Mozilla website",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function() {
tabs.activeTab.attach({
contentScriptWhen: 'end',
contentScript:
'console.log(optimizelyCode)'
})
}
});

var pageMod = require("sdk/page-mod");

pageMod.PageMod({
include: "*.mozilla.org",
contentScriptWhen: 'end',
contentScript: 'console.log(optimizelyCode);'
});

我收到引用/未定义错误,因为 optimizelyCode 对插件不可用。在这个例子中,我什至没有使用内容脚本文件。

据我所知,我只能访问基本的 DOM 内容,例如 getElementById 之类的方法。如何访问这些网页本地JS变量?

引用:https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts/Loading_Content_Scripts

最佳答案

仅供引用,您可以从非内容脚本执行 gBrowser.contentWindow.wrappedJSObject.VAR_HERE

关于javascript - 如何允许插件的内容脚本从当前选项卡访问 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923438/

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