这里的JavaScript代码是关系到该部分:
TG.util.oauth = {
win: null,
timer: null,
loginUpdate: function() {
$.getJSON('/-login/check?format=json', TG.util.oauth.loginCallback);
},
loginCallback: function(data) {
if (data && data.loggedin) {
TG.util.login.update(data);
}
},
winCheck: function() {
if (!TG.util.oauth.win || TG.util.oauth.win.closed) {
window.clearInterval(TG.util.oauth.timer);
return TG.util.oauth.loginUpdate();
}
},
loginClick: function() {
TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend',
'OAuthTwitterRequest',
'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
if (!TG.util.oauth.win) return true;
TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
return false;
}
};
TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend','OAuthTwitterRequest','menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
打开OAuth的窗口,它处理登录
if (!TG.util.oauth.win) return true;
返回true,如果窗口没有打开(我猜)。
TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
产生一个计时器,用于检查登录是否每300毫秒完成一次。