Cómo get element y html desde la function window.open js con jquery

Estoy tratando de abrir una window emergente como esta:

$('#btn').click(function () { var popup = window.open('mypage.php', '_blank', 'width=500,height=500'); var dom = popup.document.body; for (i in dom) { console.log(dom[i]); } }); 

Ahora lo que quiero hacer es get el html de la window emergente y también poder usar tal vez una function jQuery desde window.opener (la página que abrió la window emergente)

PD. En la console hay muchas cosas impresas pero no fuente html.

Use esto para probar: http://jsfiddle.net/JRqTy/

Gracias por adelantado.

2 Solutions collect form web for “Cómo get element y html desde la function window.open js con jquery”

Tratar:

 var html = popup.document.documentElement.outerHTML 

EDITAR

La window no se carga inmediatamente. Algo así funcionará, suponiendo que no intente violar la política de origen idéntico :

 $('#btn').click(function() { var popup = window.open('[Your URL HERE]', '_blank', 'width=500,height=500'); popup.onload = function() { setTimeout(function(){ console.log(popup.document.documentElement.outerHTML) }, 2000); } });​ 

Aquí hay un violín que funciona .

Nota: Si controla tanto la fuente principal como la secundaria, también puede hacer que el hijo invoque un método en el padre que pasa en su html:

Ventana de niño

 // Call when body is loaded function SendHtmlToParent() { window.opener.HtmlReceiver(document.outerHTML); } 

Padre

 function HtmlReceiver(html) { console.log(html); } 

Espere…

Tenga en count que las URL remotas no se cargarán de inmediato. Cuando window.open () retorna, la window siempre contiene about: blank. La obtención real de la URL se difiere y se inicia después de que el bloque de script actual termine de ejecutarse. La creación de la window y la carga del recurso al que se hace reference se realizan de forma asíncrona.

MDN

Y si espera, obtendrá este error:

JavaScript inseguro intenta acceder al marco con URL https://www.google.co.il/ desde el marco con URL http://fiddle.jshell.net/_display/ . Deben coincidir los dominios, protocolos y puertos.

Entonces se puede hacer con google, a less que estés trabajando allí …

Violín

Si abre algo "válido" funcionará bien.

DEMO de trabajo

  • Cómo usar el destino en location.href
  • window.open () funciona de forma diferente en el éxito de AJAX
  • window.open tabs de apertura y windows en Google Chrome
  • Window.open solo si la window no está abierta
  • javascript window.open de callback
  • Buscar window abierta previamente por window.open
  • window.open en Windows Phone 7
  • La function de printing en Chrome ya no funciona
  • window.open () en un sistema de múltiples monitores / monitores dobles: ¿dónde aparece la window emergente?
  • window.open () en un iPad con carga de un marco no funciona
  • ¿Por qué window.open (...) .onunload = function () {...} no funciona como esperaba?
  • HTML javascript para abrir una nueva window y cerrar la window actual
  • Abre una nueva window después de que un evento de clic no funcione en Safari, Chrome
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.