0
我想做的事:跨源 - 窗口彈出(window.opener爲null)
從用戶點擊新窗口打開源父窗口第三方URL(不同領域)
用戶在彈出窗口中進行身份驗證,然後第三方在重定向頁面上提交成功數據。 (像推特)
- 從子窗口(PopUpWindow)我必須發回數據回到父窗口。
我做了什麼
var windowReference= window.open('https://ThirdPartyURL', 'CrossDomain', 'width=840,scrollbars=yes,top=0');
window.parentMethod= function (input) {alert(input)}
窗口得到在新窗口中用戶打開被重定向頁面上進行身份驗證,並獲得重定向頁面 返回的數據(子窗口)
window.opener.parentMethod(response);
在Firefox
其工作但在IE中 window.opener null。原因是跨域。如果第三方URL是當前域,然後它工作正常,但如果它的跨域windowReference得到空 得到它的工作我必須要改變網絡設置 - >安全 - >確認已啓用 它幾乎不可能在每一個做客戶機。
我曾嘗試使用Postmessage,但它支持IE10,在IE8和9中它支持Iframe,因爲在我的情況下,第三方已禁用IFRAME嵌入。
有人可以幫我解決這個問題。任何幫助將不勝感激
一些網站做它你建議。但有一件事我不知道如何關閉子窗口和提交數據回到父窗口如果m使用cur請求或任何其他方式(在服務器端使用) – Salman 2015-03-19 10:24:49