2016-09-07 6 views
0

このコードを動作させようとしていますが、動作していないので、私はあなたの助けが必要です。 もし私が誰かがGmailにログオンしているのであればチェックして、Gmailをmailtoクライアントとして使用しなければ、デフォルトのmailtoクライアントを使用するようにします。 私の以前のバージョンがある、そしてそれは、多かれ少なかれを働いている: http://www.pazaak.nazwa.pl/projekty/gmail/index2.htmlGoogle APIの問題sessionParamsが動作しないJavaScriptとJQueryが混在するJavaScriptとJQuery

しかし、私はjQueryのにそれを書き換えるように頼まれました。私はこのようなものを作ります:

(function() { 
     var po = document.createElement("script"); 
     po.type = "text/javascript"; po.async = true; 
     po.src = "https://apis.google.com/js/client:plusone.js?onload=OnLoadCallback"; 
     var s = document.getElementsByTagName("script")[0]; 
     s.parentNode.insertBefore(po, s); 
})(); 

$(document).ready(function(){ 
var sessionParams = { 
     'client_id': 'myclientID', 
     'session_state': null 
    } 
    $(".mail2").click(function(e){ 
    console.log('test'); 
    gapi.auth.checkSessionState(sessionParams, $(function(stateMatched) { 
    if (stateMatched == true) { 
     console.log('jfgh'); 
     return true; 
     } else { 
     e.preventDefault(); 
     console.log('g'); 
     window.open("https://mail.google.com/mail/u/0/#inbox?compose=new"); 
     return false; 
     } 
    })); 
}); 
}); 

まだ何かが間違っています。私は主な問題は、SessionParamsが適切に動作していないことだと思う。私はSessionParamsオンラインで別のコードを見つけるが、私は2つのリンクを置くために、より多くの評判を必要とするので、それを投稿することはできません。上で述べたように、私はjQueryのコードをいくつか持っている必要があります。

答えて

0

あなたは間違っていた、$()にコールバックをラッピングしている:それは今魅力のように働いている

gapi.auth.checkSessionState(sessionParams, function (stateMatched) { 
      if (stateMatched == true) { 
       console.log('jfgh'); 
       return true; 
      } else { 
       e.preventDefault(); 
       console.log('g'); 
       window.open("https://mail.google.com/mail/u/0/#inbox?compose=new"); 
       return false; 
      } 
     }); 
+0

おかげで、:) – David

+0

を助けになることがうれしいです – DvS

関連する問題