2012-05-06 31 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页 –

相关问题