2012-05-06 9 views
6

Ho un problema con la finestra popup di js.js apre la finestra popup e accede al suo elemento in un'altra pagina

apro un pop-up e cercare di accedere ai suoi elementi in un'altra pagina pagina, senza successo, e non voglio ricaricare la fonte popup, voglio semplicemente accedere a un elemento del popup aperto

Ex -

  • prima pagina - popup aperta con lettore HTML5 musica
  • 2 ° pagina - necessità di mettere in pausa la musica quando l'utente clicca sul pulsante nella pagina principale

1 ° pagina

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

2 ° pagina voglio accedere a Windows mypopup elementi senza ricaricare la comparsa

Ho solo bisogno il modo in cui per accedere agli elementi pop-up aperti senza interrompere le sue fonti che utilizzano JS o JQuery

+1

stessa origine (dominio, porta e il protocollo)? Plain JS: 'popup.document.getElementById (" player "). SomeFunction()' – mplungjan

risposta

6

stessa origine (dominio, porta e protocollo)?

Plain JS:

da page1

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

da pagina 2

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

Grazie ... Questo funziona bene ... :) –

+0

Che cosa succede se non ho accesso al codice che richiama 'popup'? ma vuoi ancora accedere al DOM da un'altra pagina? – Ethaan

+0

Si prega di porre la propria domanda ... Se il codice che la invoca ha dato un popup al nome o utilizzato un handle, è possibile utilizzarlo come mostrato nella pagina 2 se fa semplicemente un 'window.open (" url.html ") 'allora no. Se hai accesso agli script alla pagina, puoi riscrivere la funzione che apre la pagina. 'function popup() {/ * miaVersione di questo * /}' sovrascriverà 'function popup() {/ * la loro versione * /}' se caricate i vostri dopo di loro e manterrete il nome – mplungjan

-1

Un frammento da un facebook OAuth 2.0 gestore

PAGINA 1 Questa pagina deve avere una funzione zione:

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

PAGINA 2

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

Questa è anche la domanda giusta? – mplungjan

+0

È un esempio di come è possibile gestire la richiesta di autorizzazione di Facebook. L'idea rimane la stessa comunque e l'esempio usa jQuery. Si apre un popup da pagina 1; Passa una funzione al tuo apri popup; Si accede all'apertore a pagina 2; Si ritorna alla pagina 1 –

Problemi correlati