2012-11-04 3 views
0

J'écris un script utilisateur de remplissage de formulaire (pour Tampermonkey dans Chrome) qui devrait prendre des variables de JavaScript déjà dans la page et mettre ces variables dans le formulaire. Voici mon code jusqu'à présent:Accéder à des variables "head" à partir d'un script Tampermonkey

document.getElementById('entry_1').value = window.a1[0]; 

répété pour entry_2 à travers entry5 et a1 à a5. a1 est défini comme ceci:

var a1 = new Array("Green","green"); 

si l'exécution de l'userscript devrait mettre la valeur « verte » dans le entry_1 de champ de formulaire. Cependant, je reçois ceci:

TypeError: Cannot read property '0' of undefined 
at Function.eval (eval at <anonymous> (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:56:21))), <anonymous>:65:53) 

Comme indiqué précédemment, j'utilise Chrome. L'exécution du code de l'utilisateur dans la console javascript fonctionne correctement et modifie le champ de formulaire. Comment puis-je obtenir le même résultat avec le script Tampermonkey? Cependant,

document.getElementById('entry_1').value = unsafeWindow.a1[0]; 

Notez que cela ne fonctionne pas dans la console JS Chrome:

Répondre

3

comme ceci La bonne façon de le faire serait d'utiliser unsafeWindow au lieu de window,.

Questions connexes