2009-03-16 11 views
6

J'ai deux iframes et chaque iframe montrent deux pages html différentes. Les deux pages html font référence à un fichier javascript commun qui contient une variable globale. Si je définis la valeur de cette variable globale dans une trame lors du chargement de la page html. La valeur sera-t-elle accessible en utilisant la même variable globale à une autre page html iframe? pourquoi ou pourquoi pas?iframes HTML et javascript

Répondre

11

Non. Le niveau supérieur de l'espace de portée de JavaScript est le niveau de la page. Cependant, vous pouvez accéder à la portée d'une autre page en utilisant window.parent

+1

@Deepak n'hésitez pas à cliquer sur le "Chèque" pour accepter la réponse si elle résout votre problème ou répond à votre question. –

+1

Hélas, il ne peut pas accepter votre réponse jusqu'à ce qu'il ait une réputation de 10. Ce qu'il fait maintenant, depuis que j'ai voté sa question. – Benry

+0

Peut-être que ce n'est plus vrai. Était autrefois. – Benry

0

En fait, je remarque qu'il ne semble pas maintenir la portée et peut-être que quelqu'un peut faire la lumière sur ce point. Exemple 1: Vous avez une page HTML avec du contenu Flash qui a certaines fonctions pour obtenir l'objet SWF et déclencher une commande. Lorsque cette page est chargée dans un IFRAME, 'getSWFObj' est "pas une fonction".

Exemple 2: Je charge une page HTML qui contient une série de fichiers JavaScript basés sur des objets. Je crée une instance appelée "player" et crée des sous-objets comme "navigation". Quand j'appelle "player.navigation", j'obtiens une erreur disant qu'il n'existe pas lorsqu'il est chargé dans un IFRAME.

Questions connexes