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

  • window.opener es nulo después de networkingirigir
  • alert () llamado en una nueva window parece ser llamado desde la página original si se usan los methods de jQuery
  • Ancho de window.open ignorado en Chrome
  • Evitar tabs o windows duplicadas del browser (window.open ())
  • window emergente abierta en cromo
  • window.open en Windows Phone 7
  • comportamiento de window.open en tabs / windows de Chrome
  • window.open () en un iPad con carga de un marco no funciona
  • Abra la página en una nueva pestaña usando javascript window.open (elementName.elementValue) en la label de anclaje
  • window.open tabs de apertura y windows en Google Chrome
  • Javascript window.open url con espacios y%
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.