Aktualnie pracuję nad dodatkiem Mozilla Firefox.ReferenceError: require nie jest zdefiniowany
Ustawiłem panel i dołączyłem do niego skrypt zawartości. Muszę komunikować się między skryptami treści a plikiem main.js. Używam do tego celu portu API dla addon-sdk. Jednak z jakiegoś powodu nie mogę nawet uzyskać prostego komunikatu między tymi dwoma.
jestem stale otrzymaniu następujący błąd podczas przetestować dodatek używając CFX: „ReferenceError: require nie jest zdefiniowana”
Każdy pomysł co jest nie tak?
popup.js
var self = require("sdk/self");
self.port.on("dataToPopup", function (data) {
$("p.test").text(data);
});
Błąd jest generowany dla pierwszego samej linii.
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");
});
Ten sam błąd nie jest wyrzucane na main.js
Każdy doświadczył tego wcześniej?
Czy masz plik skryptu w swoim kodzie HTML? Ponieważ myślę, że nie jest załadowany. –
nie. dodałem go jako skrypt treści z main.js –