2013-09-29 111 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的末尾,包含來自其他應用程序接收到(如果他們將它們傳遞給你的查詢字符串)的所有參數。