我目前正在使用Mozilla Firefox插件。ReferenceError:require is not defined
我已經設置了一個面板並附加了一個內容腳本。我需要在內容腳本和main.js之間進行通信。我正在使用addon-sdk的端口API。然而,由於某種原因,我甚至無法在兩者之間得到簡單的信息。
我不斷收到以下錯誤,當我使用CFX測試我的插件「的ReferenceError:要求沒有定義」
任何想法有什麼不對?
popup.js
var self = require("sdk/self");
self.port.on("dataToPopup", function (data) {
$("p.test").text(data);
});
的引發錯誤用於第一線本身。
main.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
任何人都經歷過這個?
你在HTML中有腳本文件嗎?因爲我認爲它沒有被加載。 –
沒有。我將它作爲內容腳本添加到main.js中 –