J'essaie de créer une extension chrome qui permet à un utilisateur d'ajouter une nouvelle couleur à Desmos, une calculatrice graphique, lorsque le bouton d'extension est cliqué.Uncaught TypeError: Impossible de lire la propriété 'colors' de undefined
Les deux fichiers de base:
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript(tab.ib, {
file: "add_color.js"
});
});
et
(function() {
if (window.location.href === "https://www.desmos.com/calculator") {
var name = prompt("What would you like the name of the new color to be?");
var hex = prompt("What should the hex code of the new color be?");
window.Calc.colors[name] = hex;
};
})();
Mais lorsque je tente de l'exécuter, je reçois Uncaught TypeError: Cannot read property 'colors' of undefined
. Si je l'utilise avec la console DevTools, il fonctionne parfaitement. Quelqu'un pourrait-il expliquer pourquoi?
La fenêtre de votre plugin n'est pas la même chose que la fenêtre sur la page. Jetez un oeil à: http://stackoverflow.com/questions/10485992/hijacking-a-variable-with-a-userscript-for-chrome – AndyB