iframe contentWindow jette erreur d'Accès Refusé après un raccourcissement du document.domaine

- Je créer un IFRAME de façon dynamique dans la manière suivante:

var wrapUpIframe = document.createElement("iframe");
wrapUpIframe.id = 'WrapUpDialog3';
wrapUpIframe.src = 'WrapUpDialog.html';    
document.body.appendChild(wrapUpIframe);

après la création dynamique de mon document.domain est raccourcie de Servername.dc.com à seulement dc.com,

mais lorsque j'essaie d'accéder à contentWindow j'ai un Accès refusé erreur:

document.getElementById("WrapUpDialog3").contentWindow.SomeFunction();

Remarque: Quand je définis l'IFRAME de manière statique dans le HTML, il fonctionne très bien.
J'ai aussi essayé de changer mon IFRAME document.domain de la manière suivante:

WrapUpDialog3.document.domain = dc.com;

J'ai vérifié les deux document.domain et mon IFRAME domaine et ils sont à la fois identiques.

Que puis-je faire?

Je travaille avec IE9.

  • Dans ce navigateur obtenez-vous ce comportement? Si je tapez votre code dans le Chrome débogueur je peux accéder à el.contentWindow amende. Notez que non seulement le domaine doit correspondre mais l'origine, de sorte que vous pourriez essayer de comparer document.location.origin des deux fenêtres.
  • Je travaille avec IE9
  • Cela a été la réponse ici: stackoverflow.com/questions/364952/... Bertrand
  • Mais il a dit que l'origine est la même.
  • Qu'est-ce que WrapUpDialog3? Et comment avez-vous accès contentWindow? Si vous pouviez poster un exemple plus complet alors nous pourrions être en mesure de mieux vous aider.
  • WrapUpDialog3 est juste mon iFrame id et j'ai ajouté un exemple pour l'utilisation dans ma question
  • Avez-vous essayé d'accéder à la iframe via frames collection, comme window.frames[0].SomeFunction();.
  • Quelle a été la chose qui a résolu le problème? Il y a un tas de trucs dans l'acceptation de réponse...

InformationsquelleAutor Dor Cohen | 2013-02-21