2013-04-29 23 views
0

所有我想要得到的地址欄中的URL後窗口的位置,試圖與這個JavaScript,但顯示的位置{}(空值)如何讓window.open

var googleWindow = window.open('https://api.something/givetokenafterclosed'); 

var waitForToken = setInterval(function() { 
    console.log(googleWindow.location) 
    if (googleWindow.closed) { 
     clearInterval(waitForToken); 
    } 
    if (window.location.hash) { 
     // here I'm retrieving some token... 
     googleWindow.close(); 
    } 
}, 3000); // time interval set to 3 secs 

如果我打開本地主機的URL它的工作原理精細。在上面的情況下幫助我獲得打開的窗口URL。

+0

我相信你只能訪問窗口,如果它在同一個域中,相同的使用window.opener從子窗口。 – 2013-04-29 14:57:15

+0

你有沒有檢查你是否收到任何javascript錯誤?你在'domain'之外說的場景......可能導致js中的訪問被定義的異常......例如'www.abc.com/test'打開'www.abc.com \ test1'將會工作......但'www.abc.com/test'打開'www.pqr.com \ test1'將不起作用 – 2013-04-29 14:58:06

+0

是的。我的情況在不同的領域。因此它不允許。 – surbob 2013-04-30 04:28:10

回答

3

當窗口在另一個源上加載文檔時,URL可能包含機密信息,因此瀏覽器不會讓您的JS訪問它。

如果您想從另一個域獲取令牌,則其他域需要重定向回您的域並傳遞令牌。