ReferenceError: besoin n'est pas défini
Je suis actuellement en train de travailler sur Mozilla Firefox addon.
J'ai mis en place un groupe ci-contenu du script. J'ai besoin de communiquer entre le contenu des scripts et main.js. Je suis en utilisant le port de l'api de l'addon-sdk pour cela. Cependant, pour une raison quelconque, je ne peux même pas obtenir un simple message à travers entre les deux.
Je suis constamment recevoir le message d'erreur suivant lorsque je test mon addon à l'aide de cfx: "ReferenceError: besoin n'est pas défini"
Aucune idée de quel est le problème?
popup.js
var self = require("sdk/self");
self.port.on("dataToPopup", function (data) {
$("p.test").text(data);
});
L'erreur est levée pour la première ligne elle-même.
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");
});
Le même message d'erreur n'est pas levée main.js
Quelqu'un expérimenté?
pas de. je l'ai ajouté en tant que contenu du script de main.js
OriginalL'auteur Sriram Sridharan | 2014-06-25
Vous devez vous connecter pour publier un commentaire.
Contenu des scripts n'ont pas accès à
require
. Au lieu de celaself
est déjà déclaré.Il suffit de retirer le
require
ligne depopup.js
(mais pasmain.js
).Voir Communiquer à l'aide de "port".
La façon de dire merci sur StackOverflow est accepté (coche) et/ou upvoting réponses qui vous ont aidé ou même résolu votre problème 😉
J'ai essayé. Ne peut pas voter. Pas assez de réputation. Je dois attendre 3 minutes pour accepter la réponse.
Pas de soucis... je n'étais pas sûr que tu le savais déjà, ou pas, de voir que votre compte est nouveau. 😉
Ne vous inquiétez pas Nils, je vais voter pour vous 🙂
OriginalL'auteur nmaier