gpt4 book ai didi

javascript - 引用错误 : require is not defined

转载 作者:数据小太阳 更新时间:2023-10-29 04:07:06 25 4
gpt4 key购买 nike

我目前正在开发 Mozilla Firefox 插件。

我已经设置了一个面板并附加了一个内容脚本。我需要在内容脚本和 main.js 之间进行通信。为此,我正在使用 addon-sdk 的端口 api。然而,出于某种原因,我什至无法在两者之间获得简单的消息。

当我使用 cfx 测试我的插件时,我不断收到以下错误:“ReferenceError:require is not defined”

知道哪里出了问题吗?

弹出窗口

var self = require("sdk/self");
self.port.on("dataToPopup", function (data) {
$("p.test").text(data);
});

第一行本身会抛出错误。

主要.js

var { ToggleButton } = require('sdk/ui/button/toggle');
var self = require("sdk/self");

var button = ToggleButton({
id: "my-button",
label: "my button",
icon: {
"16": "./images/tsfm16px.png"
},
onChange: handleChange
});

var panel = require("sdk/panel").Panel({
contentURL: self.data.url("html/popup.html"),
contentScriptFile: [self.data.url("scripts/jquery-1.9.1.min.js"), self.data.url("scripts/jquery-ui.js"), self.data.url("scripts/popup.js")],
onHide: handleHide
});

function handleChange(state) {
if (state.checked) {
panel.show({
position: button
});
console.log("panel opened");
}
}

function handleHide() {
button.state('window', {checked: false});
console.log("panel closed");
}

panel.on("show", function() {
panel.port.emit("dataToPopup", "flow");
console.log("data sent");
});

main.js 没有抛出同样的错误

以前有人遇到过这种情况吗?

最佳答案

内容脚本无权访问require。相反,self 已被声明

只需从 popup.js 中删除 require 行(而不是 main.js)。

参见 Communicating using "port" .

关于javascript - 引用错误 : require is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412124/

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