时间:2024-02-12 06:30:01 | 来源:网站运营
时间:2024-02-12 06:30:01 来源:网站运营
知乎网站 OAuth 登录弹窗是怎么设计的?:ng-click 能触发打开。你可能需要同时支持两种方式的 oauth 注册:app.factory 'oauth', ($window, domainConfig) -> register: (serviceName) -> callbckUrl = '/oauth/callback' urls = qq: "#{domainConfig.qqOAuthUrl}?next=#{callbckUrl}" sina: "#{domainConfig.sinaOAuthUrl}?next=#{callbckUrl}" ua = navigator.userAgent iOSChrome = /Mobile/.test(ua) and /CriOS/.test(ua) url = urls[serviceName] supportsWindowOpen = not iOSChrome if supportsWindowOpen $window.open url else $window.location.href = url + '&from=' + encodeURIComponent($window.location.href)
回调页:var setUnfinished = function() { document.cookie = 'accountcallback=' + '{{encodedJSON}}' + '; path=/'} if (window.opener) { document.write(signedin ? '...' : '...') if (signedin) { opener.myApp.crossDomainMessage('accountcallback', accinfo) } else if (snsinfo) { var finished = opener.myApp.crossDomainMessage('accountcallback', snsinfo) if (finished === false) { setUnfinished() opener.location.href = '/?next=' + opener.location.href } } setTimeout(window.close, 500)} else { var url = '/' if (from) { if (signedin) { location.href = from return } else { url += '?next=' + from } } if (!signedin && snsinfo) { setUnfinished() } location.href = url}
关键词:设计