2012-05-06 28 views
6

我與JS彈出窗口的問題及其元素。JS打開彈出窗口和存取權限在另一頁

我打開一個彈出,並嘗試訪問它的元素在另一個頁面頁,沒有成功,我不想重裝彈出的來源,我只是想訪問打開彈出

防爆的元素 -

  • 第1頁 - HTML5的音樂播放器
  • 第二頁打開彈出 - 需要暫停音樂當按鈕用戶點擊主界面

1頁

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

第2頁我要訪問mypopup窗口元素,而無需重新加載彈出

我只需要怎樣的方式來訪問打開彈出式元素,而無需中斷使用JS或JQuery的

+1

相同的起源(域,端口和協議)?平原JS:'popup.document.getElementById(「玩家」)someFunction()' – mplungjan

回答

6

相同的起源(其來源域,端口和協議)?

平原JS:

從第1頁

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

從第2頁

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

謝謝...這工作得很好... :) –

+0

發生了什麼,如果我沒有訪問調用'popup'的代碼?但仍然想從另一個頁面訪問DOM? – Ethaan

+0

請詢問自己的問題......如果調用代碼,它給了彈出菜單的名稱或使用的,你可以使用它像我展示在2頁,如果它只是做了'的window.open(「url.html」手柄)'那麼不是。如果您具有對頁面的腳本訪問權限,則可以重寫彈出頁面的功能。 ''popup popup(){/ * myVersion of this * /}'將會覆蓋'function popup(){/ *他們的版本* /}'如果你加載你的名字並保留名字 – mplungjan

-1

從一個網站的OAuth 2.0處理程序的代碼片段

PAGE 1 該頁面必須有一個func和灰:

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

這個問題甚至是正確的嗎? – mplungjan

+0

這是你如何處理Facebook的授權請求的例子。這個想法保持不變,這個例子使用jQuery。 你打開第1頁的彈出; 你傳遞一個函數給你的popup opener; 您訪問第2頁上的開門紅; 您將功能返回到第1頁 –

相關問題