2013-09-29 79 views
0

重新定向关闭模式窗口是常见的事情。但是我的情况有点不同。我想要另一种方式!重定向时关闭模态窗口。不,关闭时不重定向

从我的页面,我加载了一个不同的网站n模式窗口。当用户完成一个动作时,其他站点将重定向到一个我作为参数传递给它的URL。但重定向发生在模态窗口内。我的问题是,如何让重定向发生在主浏览器窗口而不是模型窗口中?如果这听起来不可能,是否有任何方法可以在模型窗口中检测重定向事件,以便我可以关闭它并在主浏览器窗口中获取重定向的URL?

重定向的URL将包含几个参数。在父窗口中获取这些值对我来说很重要。

回答

0

window.opener指的父窗口

所以

window.opener.location.href = '新的URL';

+0

如果我必须使用这段代码,它应该在窗口内部打开的站点中。但它是我没有任何控制权的第三方网站 – user2691327

0

您正在向其他站点发送URL,以便在用户完成操作后重定向用户。因此,您可以在应用程序中传递临时页面的URL,其主要功能是为onload事件提供处理程序。该处理程序可以通过window.opener访问主浏览器窗口并为其提供通过URL重定向接收的所有参数。因此,临时页的来源是这样的:

<html> 
    <script type="text/javascript"> 
     function loadURLinParentWindow(){ 
      window.opener.href = "http://mainurl/" + window.location.search; 
      window.close(); 
     } 
    </script> 
<body onload="loadURLinParentWindow()"> 
</body> 
</html> 

window.location.search在URL的末尾,包含来自其他应用程序接收到(如果他们将它们传递给你的查询字符串)的所有参数。