Estoy tratando de llamar a una función javascript definida en un elemento primario desde una ventana secundaria. Tengo dos archivos como este:JavaScript window.opener llamada principal función
Padres:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function foo() {
alert ("Hello from parent!");
}
function doStuff() {
var w = window.open("testa.html");
}
</script>
</head>
<body>
<input type="button" value="open" onClick="doStuff();" />
</body>
</html>
y el niño:
<html>
<head>
<title>Test A</title>
<script type="text/javascript">
function get() {
window.opener.foo();
}
</script>
</head>
<body>
<input type="button" value="Call Parent" onClick="get();" />
</body>
</html>
no puedo, por la vida de mí, llamar a la función foo del proceso hijo. Pensé que esto debería ser posible con el objeto window.opener, pero parece que no puedo hacer que esto funcione. ¿Alguna sugerencia?
¿Está accediendo a estas páginas en 'http: //' o 'file: ///'? El protocolo 'file' no tiene un origen, por lo que siempre fallará el [SOP] (http://en.wikipedia.org/wiki/Same_origin_policy), haciendo que el' abrelatas' sea inaccesible. –
Resulta que ese era el problema, simplemente estaba accediendo a ellos sobre el archivo: //. Cuando los arrojo al directorio http: //, funciona bien. – RPIBuckHunter
¿Qué es http: // y file: ///? cómo cambiarlo de uno a otro. ¿Tengo el mismo problema? Por favor ayuda. –