2012-05-06 13 views
6

Mam problem z oknem wyskakującym js.js otwórz okno wyskakujące i przejdź do jego elementu na innej stronie

otworzyć okienko i próby uzyskania dostępu do jego elementów w innej stronie strony, bez powodzenia, i nie chcę, aby przeładować źródło podręczne, ja po prostu chce uzyskać dostęp do elementu otwartego popup

Ex -

  • 1. strona - otwarte okienko z odtwarzaczem muzycznym html5
  • 2. strona - konieczność, aby wstrzymać muzykę, gdy użytkownik kliknie przycisk na stronie głównej

1 stronie

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

2 strona Chcę uzyskać dostęp do elementów okna mypopup bez przeładowywania popup

muszę tylko sposób uzyskiwania dostępu do elementów otwieranych wyskakujące bez przerywania jego źródła używając JS lub JQuery

+1

samego pochodzenia (domena, port i protokół)? Zwykły JS: 'popup.document.getElementById (" player "). SomeFunction()' – mplungjan

Odpowiedz

6

samego pochodzenia (domena, port i protokół)?

zwykły JS:

z strona1

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

strony 2

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

Dziękuję ... To działa ładnie ... :) –

+0

Co się stanie, jeśli nie mam dostępu do kodu, który wywołuje 'popup'? ale nadal chcesz uzyskać dostęp do DOM z innej strony? – Ethaan

+0

Proszę zadać własne pytanie ... Jeśli kod, który go wywołuje, nadał popupowi nazwę lub użył klamki, możesz go użyć tak, jak pokazałem na stronie 2, jeśli po prostu robi to 'window.open (" url.html ") 'następnie nie. Jeśli masz dostęp do skryptu na stronie, możesz przepisać funkcję, która wyświetli stronę. 'function popup() {/ * myVersion tego * /}' zastąpi 'funkcję popup() {/ * ich wersję * /}' jeśli załadujesz swoją po nich i zachowasz nazwę – mplungjan

-1

fragment ze NAS OAuth 2,0 handler

PAGE 1 Ta strona powinna mieć func nia:

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

PAGE 2

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

Czy to jest nawet właściwe pytanie? – mplungjan

+0

To jest przykład tego, jak możesz obsługiwać żądanie autoryzacji na Facebooku. Pomysł pozostaje ten sam, a przykład wykorzystuje jQuery. Otworzysz popup od strony 1; Przekazujesz funkcję do swojego otwierania popup; Dostęp do otwieracza na stronie 2; Powrócisz funkcję do strony 1 –

Powiązane problemy