Pourquoi pas un iframe ensemble de son parent.de hachage?

J'ai une fenêtre contenant une iframe contenant une iframe, comme suit:

+---------------+
|      Top      |
| +-----------+ |
| |   Middle  | |
| | +-------+ | |
| | | Inner | | |
| | +-------+ | |
| +-----------+ |
+---------------+

Du haut et du Milieu sont sur le même domaine, mais l'Intérieur est dans un domaine différent. J'ai besoin d'Intérieur pour communiquer avec Top. La seule façon que je connaisse pour faire ce qui est pris en charge dans IE7 (j'ai besoin de soutien) est de changer la valeur de hachage de la fenêtre de l'emplacement. Cependant, je ne veux pas l'information pour être le scintillement dans la barre d'adresse, j'ai donc introduit au Moyen d'une iframe.

Je veux Intérieure de changer de Moyen de hachage. Moyen va lire sa hachage et d'informer Haut, qu'il a la permission de parler directement à.

Cependant, dans Firefox 3, j'ai été incapable d'écrire au Milieu de hachage de l'Intérieur. Aucune erreur n'est générée, mais le hachage semble inchangée. Écrit à son location.href soulève une erreur de permission.

Haut peuvent écrire au Milieu de la table de hachage, cependant, et le Milieu peuvent s'écrire à l'Intérieur de hachage, et Top pouvez écrire à l'Intérieur de hachage, et de l'Intérieur et du Milieu peut à la fois écrire Dessus du hachage, de sorte que le seulement ordonné paire qui ne fonctionne pas est celui que je veux! (J'ai travaillé sur cette question depuis un certain temps.)

J'ai reproduit ce dans un minimum de cas de test. Au début, j'ai servi tous les trois pages du même domaine. Quand j'ai mis Intérieure sur un autre domaine, j'ai un comportement problématique. Quand je mets du Milieu sur la deuxième domaine, tout le monde peut écrire à nouveau tout le monde.

Pourquoi ne peut-Intérieure écrire au Milieu du hash?


Additif: Beaucoup de gens ont suggéré que cela ne devrait pas être possible en raison de la même origine. C'est exactement la politique que je suis en train d'essayer de se déplacer. Ce cas précis--réglage (mais ne pas lire) autre fenêtre à l'emplacement de l'--est censé être possible dans tous les domaines. Je n'ai pas trouvé de documentation de navigateur à cet effet, mais j'ai trouvé beaucoup d'articles et de démos. C'est essentiellement le précurseur de l'HTML 5 de la postMessage().

Ref: http://softwareas.com/cross-domain-communication-with-iframes

Sonne comme il pourrait être un problème de sécurité.
il y a un dupe de cette question sur -- un bug dans Bugzilla.
Bon à savoir. Avez-vous des liens vers ceux-là? Poster une réponse, et je vais l'accepter.

OriginalL'auteur Peeja | 2009-06-15