2017-09-20 2 views
1

휴대 기기 또는 휴대 기기에 google api 클라이언트를로드하려고하면 오류가 발생하고 콜백을 호출하지 않습니다. 그러나 계정이 로그인하면 문제가 사라집니다. 애플 모바일 장치를 시뮬레이션하는 크롬에 나타납니다. 아이폰과 맥북과 같은 애플 기기 자체에 나타납니다.google-api-javascript-client가 iOS에로드되지 않습니다.

window._gapiOnLoad = function(){ 
    alert("Never called on iphone"); 
} 
var script = document.createElement('script'); 
script.onerror = function (e) { 
    alert("Also never called"); 
}; 
script.src = 'https://apis.google.com/js/client.js?onload=_gapiOnLoad'; 
document.body.appendChild(script); 

오류 :

Uncaught TypeError: t[u] is not a function 
at Object.Oa.O.(anonymous function) [as loaded_0] (https://apis.google.com/js/client.js?onload=_gapiOnLoad:14:63) 
at https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.54rvJIPTsq0.O/m=client/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AGLTcCPwWRWf9u-Qf5Xp2KlRIyI4hERCSA/cb=gapi.loaded_0:1:15 

관련하지만 도움이되지 잘못된 : https://github.com/ionic-team/ionic/issues/10669

내 웹 애플리케이션 : 스크립트를 두 번 호출 https://brancher.io

답변

0

이 문제를 해결하기 위해 보인다.

window._gapiOnLoad = function(){ 
    alert("Is eventually called"); 
} 
window.onerror = (e) => { 
    if (e == "Script error." && !gapi.client) { 
     loadScript(); 
    } 
} 
loadScript() 
function loadScript() { 
    var script = document.createElement('script'); 
    script.src = 'https://apis.google.com/js/client.js?onload=_gapiOnLoad'; 
    document.body.appendChild(script); 
} 
관련 문제