2013-09-04 3 views
3

JSP 애플리케이션에서 Google Oauth2 Javascript를 사용하고 있습니다.갑작스런 자바 스크립트 Google Oauth2 문제

<script src="https://apis.google.com/js/client.js"></script> 

function googleOAuth(idx) { 
alert ("Please ensure that popup windows are enabled in your browser. You will  authenticate directly with Google in another window."); 
    var config = { 
    'client_id': '<%=googleClientId%>', 
    'scope': 'https://mail.google.com/ https://www.googleapis.com/auth/userinfo.email', 
    'response_type': 'token', 
    'immediate': false 
    }; 
    gapi.auth.authorize(config, function() { 
    var token = gapi.auth.getToken(); 
    /// ...use token 

    }); 
    } 

을 내 응용 프로그램까지 잘 작동했다 어제, 오늘의 권한을 부여하는 데 실패하고 크롬 콘솔은 말한다 :

catch되지 않은 형식 오류 : 223 : 정의되지 않은 라인의 CB = gapi.loaded_0에서 함수 아니다 핸들러 함수가 아직 실행되지 않았습니다. 라인 (223)은 다음과 같습니다

var f=c.popup,g=c.after_redirect;f&&"keep_open"!=g&&(0,_.Uu)(window,f) 

및 I는 g & & (0, UU는 _.) (창 F) 유효 JS 얼마나 보지 않는다.

누구도이 문제를보고 있습니까?

+0

나는이 문제에 부딪 혔고, 혼자서 나쁜 변화를했다고 생각했지만 혼자가 아니었다. 그러나 'g && (0, _. Uu) (window, f)'는 유효한 JavaScript임을 지적해야합니다. 두 번째 피연산자의 값을 반환하는 쉼표 연산자를 사용합니다. 여기에서 의미를 갖기 위해서,'_.Uu'의 값은 표현식을 평가 한 후에 즉시 호출되기 때문에 함수 여야합니다. 'g && (window, fu) (window, f)'가 참으로 유효하다는 것을보기 위해서는'var g = true, _ = {Uu : alert}, f = null '을 실행 한 후 콘솔에서 실행 해보십시오. '. – Jakob

+0

나는 본다; 당신이 옳다. (의도 된 사용법은 g && g (0, _.Uu) (window, f)이다.)이 관용구는 여러 곳에서 사용된다. 감사. – user1001630

답변

3

이것은 버그입니다. 또한보고 : one two

구글 지금은 고정 알고있다.

+0

감사합니다. 나를 미쳤다. – user1001630