2010-11-17 103 views
9

假設我想僅在知道進入我的網站的用戶擁有有效的Google帳戶並且已登錄該帳戶時才顯示某些內容。檢測網絡用戶當前是否登錄Google?

有什麼辦法可以在Javascript中做到這一點?我知道Facebook API提供了一些方法來告訴用戶的狀態(登錄Facebook),並且我確定我也看到過使用Google帳戶進行此操作的網站,但是在Google中搜索相關條款卻導致我無法訪問因爲搜索條款的重點不夠。

謝謝你的幫助。

+0

因爲我只想在用戶使用Google記錄器時顯示鏈接。 – 2011-02-09 13:40:58

回答

6

此博客聲稱,他們已經做到了,通過檢查鏈接到由G + /嘰嘰喳喳提供的社交平臺圖像返回值的/ etc

http://www.tomanthony.co.uk/blog/detect-visitor-social-networks/

<img style="display:none;" 
onload="show_login_status('Google', true)" 
onerror="show_login_status('Google', false)" 
src="https://accounts.google.com/CheckCookie?continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&followup=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&chtml=LoginDoneHtml&checkedDomains=youtube&checkConnection=youtube%3A291%3A1" 
/> 
+0

我最近檢查了那個鏈接...好像twitter檢查不工作... – 2014-05-08 15:04:19

+1

谷歌也不工作。 – 2015-06-25 18:08:55

3
<script type="text/javascript"> 
function show_login_status(network, status){ 

    if(status == false){ 
     alert('NOT LOGGED IN'); 
    } 
    if(status == true){ 
     alert('Logged In'); 
    } 


} 


</script> 

<img style="display:none;" 
onload="show_login_status('Google', true)" 
onerror="show_login_status('Google', false)" 
src="https://accounts.google.com/CheckCookie?continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&followup=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&chtml=LoginDoneHtml&checkedDomains=youtube&checkConnection=youtube%3A291%3A1" 
/> 

這將工作。

+0

不適用於我 - 顯示沒有登錄當我。 – 2016-06-21 09:51:34

+0

剛剛在我的測試中,仍然像魅力一樣工作。不知道會有什麼不同。 – 2016-06-21 20:45:23

+0

我試圖訪問我的Google帳戶頁面,發現Google要求我驗證手機等。確認後,此測試現已可用!很顯然,如果出現這種帳戶驗證檢查時,它會失敗,我會定期收到它們。 – 2016-06-23 09:49:46