2012-05-06 10 views
6

Tengo un problema con la ventana emergente js.js abrir la ventana emergente y acceder a su elemento en otra página

puedo abrir una ventana emergente y tratar de acceder a sus elementos en otra página, sin éxito, y no quiero para recargar la fuente emergente, simplemente quiero acceder a un elemento de la ventana emergente abierta

Ex -

  • primera página - emergente se abrió con reproductor de música html5
  • segunda página - necesidad de hacer una pausa en la música cuando el usuario haga clic en el botón en la página principal

primera página

var popup = window.open("test.html","mypopup","width=500,height=300"); 

segunda página Quiero acceder a los elementos de las ventanas MyPopup sin volver a cargar la ventana emergente

que sólo necesita la manera cómo acceder a los elementos emergentes abiertas sin interrumpir sus fuentes usando JS o jQuery

+1

mismo origen (dominio, puerto y protocolo)? Plain JS: 'popup.document.getElementById (" player "). SomeFunction()' – mplungjan

Respuesta

6

mismo origen (dominio, puerto y protocolo)?

Llanura JS:

de page1

var popup = window.open("test.html","mypopup","width=500,height=300"); 
popup.document.getElementById("player").someFunction(); 

de la página 2

var popup = window.open('','mypopup'); 
// now popup is known again 
popup.document.getElementById("player").someFunction(); 
+0

Gracias ... Esto funciona bien ... :) –

+0

¿Qué sucedió si no tengo acceso al código que invoca 'popup'? pero aún quieres acceder al DOM desde otra página? – Ethaan

+0

Haga su propia pregunta ... Si el código que lo invoca da un nombre a la ventana emergente o usa un controlador, puede usarlo como lo muestro en la página 2- si solo hace un 'window.open (" url.html ") 'entonces no. Si tiene acceso de scripting a la página, puede volver a escribir la función que aparece en la página. 'function popup() {/ * myVersion of this * /}' sobrescribirá 'function popup() {/ * su versión * /}' si carga la suya después de la de ellos y conserva el nombre – mplungjan

-1

Un fragmento de un facebook OAuth 2.0 manejador

PÁGINA 1 Esta página debe tener una func ción:

var OAuthResponse = {}, 
    fbReturnHandler = function() { 
     if (!$.isEmptyObject(response)) { 
      OAuthResponse = response.authResponse; 
       // do something else 
     } 
    } 

PÁGINA 2

<script type="text/javascript"> 
    if (window.opener) { 
     // do something here 
     window.opener.fbReturnHandler(); 
     //window.close(); 
    } 
</script> 
+0

¿Es esta la pregunta correcta? – mplungjan

+0

Es un ejemplo de cómo puedes manejar la solicitud de autorización de Facebook. Sin embargo, la idea sigue siendo la misma y el ejemplo usa jQuery. Abre una ventana emergente de la página 1; Pasas una función a tu ventana emergente; Usted accede al abridor en la página 2; Devuelve la función a la página 1 –

Cuestiones relacionadas