style body attribute javascript iframe webkit cross-domain

javascript - body - title css



JavaScript inseguro intenta acceder al marco con URL (6)

Crossframe-Scripting no es posible cuando los dos marcos tienen diferentes dominios -> Seguridad.

Vea esto: http://javascript.about.com/od/reference/a/frame3.htm

Ahora, para responder a su pregunta: no hay solución o solución alternativa, simplemente debe verificar el diseño de su sitio web por qué debe haber dos marcos de diferentes dominios que cambian la URL de la otra.

Recibo el siguiente error cuando intento establecer un valor hash para la url principal de iframe que contiene otra url de dominio:

JavaScript inseguro intenta acceder al marco con la URL "URL1" desde el marco con la URL "URL2". Deben coincidir los dominios, protocolos y puertos.

¿Como puedo solucionar este problema?


Descubrí que el uso de la versión XFBML del botón Me gusta de Facebook en lugar de la versión HTML5 solucionó este problema. Agregue el código siguiente donde desea que aparezca el botón:

<div id="fb-root"></div> <script>(function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, ''script'', ''facebook-jssdk''));</script> <fb:like send="true" layout="button_count" width="50" show_faces="false" font="arial"></fb:like>

A continuación, agregue esto a su etiqueta HTML:

xmlns:fb="http://ogp.me/ns/fb#"


El problema es que incluso si crea un proxy o carga el contenido e lo inyecta como si fuera local, cualquier scripts que ese contenido defina se cargarán desde el otro dominio y causarán problemas entre dominios.


Obtuve el mismo mensaje de error cuando traté de cambiar el dominio de iframe.src.

Para mí, la respuesta fue cambiar el iframe.src a una url en el MISMO dominio, pero que en realidad era una página de redirección html para el dominio deseado. El otro dominio apareció en mi iframe sin ningún error.

Trabajado como un encanto. :)


Una solución podría ser utilizar un archivo local que recupera el contenido remoto

remoteInclude.php

<?php $url = $_GET[''url'']; $contents = file_get_contents($url); echo $contents;

El HTML

<iframe frameborder="1" id="frametest" src="/remoteInclude.php?url=REMOTE_URL_HERE"></iframe> <script> $("#frametest").load(function (){ var contents =$("#frametest").contents(); });


A partir de un documento secundario de origen diferente, no se le permite el acceso a la propiedad location.hash la ventana superior, pero puede establecer la propiedad de location .

Esto significa que, dado que la ubicación superior de Windows es http://example.com/page/ , en lugar de hacer

parent.location.hash = "#foobar";

necesitas saber la ubicación de los padres y hacer

parent.location = "http://example.com/page/#foobar";

Como el recurso no se navega, funcionará como se esperaba, solo cambiando la parte hash de la url.

Si está utilizando esto para la comunicación entre dominios, entonces le recomendaría utilizar EasyXDM .