我有这样的问题。我有网页向第三方网站发送带有特定参数的请求,并在请求后第三方通过代码向redirectUrl发送响应(oAuth安全和身份验证协议)。如果您未登录此第三方资源,则会将您重定向到登录页面。我想在弹出窗口中进行身份验证的登录过程。工作流程: 1.用户按下按钮从第三方获取代码 2.如果用户未登录第三方,则会出现弹出窗口,并在第三方登录。代码被检索。 3.如果用户登录,则弹出窗口出现,立即关闭,检索到的代码打印在我的网页上。 我的代码:
$(document).ready(function() {
$('#popupButton').click(function() {
signinWin = popupwindow("url",
"SignIn",960,630);
signinWin.focus();
signinWin.onload=function(){
var code=getQueryVariable("code");
if(code != null){
signinWin.opener.location.reload(true);
signinWin.document.write("<script>this.close()<\/script>");
}
}
});
});
function popupwindow(url, title, w, h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
}
function getQueryVariable(variable) {
var query = signinWin.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
}
如果我已登录,它的效果很好。但是当我没有登录第一个上传登录窗口时,我不知道如何知道用户输入登录时的时刻,那我应该怎么做?也许我应该使用ajax?