Modification de la src de l'iframe à l'intérieur de l'iframe

Je reçois ce problème dans Chrome (Exécuter les fichiers localement) lorsque j'essaie de modifier la src d'un Iframe à l'intérieur d'iframe, je reçois ce message d'erreur

Error = Uncaught SecurityError: Impossible de lire la propriété 'contentDocument' à partir de 'HTMLIFrameElement': Bloqué un cadre avec origine "null" d'accéder à une image avec origine "null". Les protocoles, les domaines et les ports doivent correspondre.

C'est le code que j'utilise pour récupérer l'iframe

iframe = $("iframe").contents().find('iframe'); iframe.attr("src", url);` 

Je n'obtiens pas ce problème lorsque je télécharge les fichiers sur le serveur. Mais si je les ouvre localement, j'ai l'erreur.

Cela fonctionne bien dans Firefox et Safari.

Comment puis-je le faire en Chrome et dans un autre navigateur?

Les fonctions de sécurité intégrées à tous les navigateurs garantissent que Javascript ne peut pas interagir avec des objets dans d'autres fenêtres et / ou des images si ces fenêtres ou ces images ont été chargées à partir d'un site différent. Ceci est communément appelé «la même politique d'origine». Si quelque chose a été chargé à partir d'un site différent est déterminé par la partie du nom d'hôte de l'URL. Si, par exemple, la trame extérieure est chargée à partir de http://yoursite.com et la trame interne est chargée à partir de http://example.com alors Javascript s'exécutant dans la portée de la trame extérieure ne pourra accéder ni modifier aucune propriété Ou des objets dans le cadre de la trame interne.

Dans ce cas, l'erreur spécifique indique que votre Javascript, qui s'exécute dans le contexte du cadre externe, est refusé d'accéder à un objet (contenuDocument) dont la portée est le cadre interne. Caché quelque part dans le jQuery que vous essayez d'utiliser sera un accès implicite à l'élément de document de la trame (comme l'ont accès la propriété contentDocument de cet iframe).

Vous pourriez peut-être contourner cela en détruisant l'iframe et en recréant un nouvel iframe avec la src désirée.