2009-04-09 12 views
0

J'essaye d'exécuter le code suivant d'une extension de firefox mais il ne fonctionne pas. Le code dans la partie else était différent mais même cette simple boucle n'est pas exécutée. boîte d'alerte sans la boucle for fonctionne. Quelqu'un peut-il avoir une idée de pourquoi cela ne fonctionne pas? MerciJavascript Firefox problème

window.addEventListener("pageshow",function(e) 
    { 
     if((document.title.trim()=="Mozilla Firefox") || 
      (document.title.trim()=="New Tab")) 
     { 
     } 
     else 
     { 
      for(i=0;i<3;i++) 
      { 
       alert("hi"); 
      } 
     } 
    },true);  

Répondre

2

Si elle est dans une extension Firefox, essayez d'utiliser content.document au lieu du document juste.

EDIT:

var metaTags = content.document.getElementsByTagName("meta"); 

for(var i = 0; i < metaTags.length; i++) { 
    // do something with metaTags[i] 
} 

De plus, si elle aide, ne hésitez pas à regarder à travers la source de l'un des extensions I've written.

+0

Salut Chris, fait document.title travaille et j'utilisais content.document pour accéder aux éléments. mais j'essayais de faire une boucle à travers les étiquettes de méta mais pour une raison quelconque, les boucles ne fonctionnent pas. Merci pour votre réponse – felix

0

document.title.trim()

Êtes-vous sûr que ce que vous voulez? String-> trim() est une méthode JavaScript non standard disponible uniquement dans Firefox 3.1.

+0

Ouais, document.title.trim() fonctionne correctement mais les boucles ne fonctionnent pas :(Même le code ci-dessus était ne fonctionne pas, c'est une simple boucle for .. – felix

0

I Changed la boucle pour ... en boucle et cela a fonctionné :)

+0

for..in est le mauvais type de boucle à utiliser pour les tableaux linéaires simples Je ne sais pas ce qui se passe ici sans le code entier, mais un "for (var i = 0 ; i bobince

+0

Exécuter ceci dans une fenêtre FF vierge en la collant dans la barre d'adresse pour voir le problème avec ... dans javascript: javascript: var s = ""; var head = document.getElementsByTagName ("head"); pour (var i dans la tête) {s + = i + "\ n ";} alerte (s); Je reçois: longueur article namedItem –

+0

Le point étant, vous obtenez des éléments supplémentaires que vous ne pouvez pas attendre. Le "pour (var i = 0; i

Questions connexes