window.open y $ (document) .ready
Estoy tratando de hacer un marcador que abra una ventana emergente. Dentro de esta ventana hay una lista de clases CSS que una vez seleccionadas, resaltan ese objeto enwindow.opener
página. Entonces me encuentro con dos problemas.
$(document).ready(function(){...})
dentro de la ventana nunca se ejecuta.No puedo abrir la ventana emergente desde una ubicación remota porque me encuentro con problemas de dominio cruzado. Aquí hay un código de muestra:
<script type="text/javascript">
function makepopup(){
var popup = '<!DOC'+'TYPE HT'+'ML PUBLIC "-//W3C//DTD HT'+'ML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' +
'<ht'+'ml><he'+'ad><title>Test</title>' +
'<scr'+'ipt type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></scr'+'ipt>' +
'</he'+'ad><bo'+'dy>' +
'<div id="wrap">' +
'testing popup' +
'</div>' +
'<input type="button" value="Click Me" />' +
'<scr'+'ipt type="text/javascript">' +
'$(document).ready(function(){' +
'$(":input").click(function(){ alert($(window.opener.doc'+'ument).find("#test").html()) });' +
'})' +
'</scr'+'ipt>' +
'</bo'+'dy></ht'+'ml>';
var testpopup = window.open( '','test','toolbar=1,location=0,status=0,width=500,height=450,scrollbars=1' );
testpopup.document.write(popup);
return false;
}
</script>
<a href="#" onclick="javascript:makepopup()">Open popup</a>
<div id="test" style="display:none">This is hidden text</div>
Si agrego lo siguiente a la consola en la ventana emergente$(":input").click(function(){ alert($(window.opener.document).find("#test").html()) });
, funciona bien, así que estoy seguro de que el documento ya nunca se ha llamado
O, ¿hay una mejor manera de hacer esto?