2009-12-05 3 views
0

J'essaie de référencer une fonction javascript dans un fichier .js chargé dans ma page principale à partir d'un iframe en utilisant la variable «top». Cela fonctionne dans FF, Safari et IE6 mais pas dans IE8.Javascript top variable dans IE8

L'extrait est (attribué à onmouseover):

top.set_image(this, 'images/login_h.png')

Où set_image est ma fonction.

L'erreur est « L'objet ne prend pas en charge cette fonction »

Aussi, j'ai cherché la définition du haut. Je ne peux pas le trouver dans la spécification ECMAScript ou sur le site w3schools et Google n'est pas utile (who'da thunk top était un mot courant?).

+0

"top" est un objet fenêtre. C'est simplement l'objet fenêtre de l'ancêtre de la fenêtre courante qui n'a pas de parent. Je ne peux pas vous dire pourquoi set_image échoue. – Alohci

+0

Erreur de ma part, j'aurais dû dire "documentation" pas "définition". Mais c'est un problème secondaire. –

Répondre

2

Dans IE8 top est un objet de type DispHTMLWindow2 (objet de fenêtre le plus externe). Déjà discuté dans this question.

0

Le problème n'était pas avec top, mais avec l'utilisation du mot clé "const" dans le script .js où les fonctions sont définies. L'erreur de syntaxe résultante a rendu les fonctions indéfinies. Il semble y avoir des incohérences dans les rapports d'erreurs, je suis à peu près certain que le message d'erreur ne s'est pas affiché au moins une fois.