Guiones de iframe de dominio cruzado jQuery

Estoy intentando acceder al DOM de un iframe que carga una URL externa. Por supuesto que recibo un error de “Permiso denegado” debido a la seguridad de dominio cruzado. ¿Cómo puedo hacer que esto funcione? Vi algo hecho con json (pero no puedo obtener una cadena json de mi fuente externa) y algo hecho con postmensaje de HTML5.

puedes verlo en vivo en: http://jsfiddle.net/QPBvJ/

El código es:

$(document).ready(function(){ $('#get').live('click', function() { var currentIFrame = $('#frameDemo'); currentIFrame.contents().find("a").css("background-color","#BADA55"); alert ("done") }); });   

¿Cuál sería la forma más fácil de hacer que esto funcione? Gracias

No hay forma de hacer que esto funcione. A menos que el dominio extranjero al que intente acceder admita un procedimiento como CORS , JSONP o postMessage .

Hay algunas excepciones (como siempre):

Si está tratando con una aplicación web, por ejemplo, puede decirle a sus usuarios que deben otorgar acceso a cross-domain-calls .

En Gecko / Firefox por ejemplo, puedes llamar

 netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead') 

que permite al navegador acceder a dominios extranjeros a través de ajax/iframes . En este escenario, un usuario tiene que establecer

 signed.applets.codebase_principal_support 

a true debajo about:config para hacer que esto funcione.

En los Internet Explorers de Internet Explorers de este mundo, hay un entorno llamado algo así como allow cross-domain access profundamente oculto en la pestaña de security , que debe configurarse para enable .

Chrome permite llamadas entre dominios con un argumento de línea de comando:

 chrome.exe --disable-web-security