相关问题:OAuth (Instagram) without refresh
Instagram期望完全重定向进行身份验证,然后他们会重定向回来。我希望它能用弹出窗口。
在弹出窗口中打开页面:
var authWindow = window.open(instagramUrl, 'authWindow');
然后我将Instagram重定向到一个关闭的页面:
<script>window.close()</script>
我无法弄清楚如何找出窗户关闭的时间。以下两点都不起作用:
authWindow.onbeforeunload = function() {
window.opener.console.log('Closing popup!');
};
function logClose(cnsl) { cnsl.log('Closing popup!'); }
var callback = _.bind(logClose, window, console);
$(authWindow.document).click(callback);
替代建议非常欢迎!
答案 0 :(得分:6)
您可以使用<script>window.close()</script>
在父窗口中调用函数,而不是直接使用window.opener
,然后关闭窗口:
父:
function onInstagramAuth()
{
// Handle however you would like here
console.log('authenticated');
}
子:
try { window.opener.onInstagramAuth(); } catch (err) {}
window.close();