在Facebook应用程序中,我创建了一个fb页面,其中添加了一个带有我的URL的测试按钮。当我们点击该按钮时,它会在应用程序的新选项卡中加载我的页面test1.html。 在那个页面test1.html页面,我有一个登录按钮,现在当我点击该登录时,它将打开一个子窗口test2.html,在OAuth完成后,它关闭子窗口并进入父窗口。这就是流程。
为了将子窗口传递到父窗口,我使用window.opener,除了在iOS设备上的facebook应用程序之外,它可以在任何地方使用。
代码:test1.html
var Login = (function() {
var events = function() {
$('#login_button').off('click').on('click', function() {
newWindow("/login.do");
});
}
var newWindow = function(url) {
window.open(url,'Oauth',"width=600,height=600");
}
var customerDetails = function(resp,callback) {
console.log(resp);
if(callback && typeof(callback) ==="function"){
callback();
}
}
})();
代码:test2.html
var self_close = function() {
self.close();
}
window.opener.Login.customerDetails(message,self_close);
当我打印window.opener时,它会抛出null。任何帮助将不胜感激