2013-05-04 90 views
1

我有我的網站上的Facebook like按鈕http://theganjagirls.com ...當我登錄到我的Facebook帳戶時,一切看起來和工作正常......但是當我'm以頁面管理員身份登錄,Facebook like按鈕在一個大白盒子裏顯示一個「switch」鏈接。我曾在許多大型網站上看到過這種情況,所以我知道它是Facebook的一個問題。 我剛剛去了teespring.com/ganjagirls,他們巧妙地讓Facebook像按鈕一樣簡單地顯示:當您以頁面管理員身份登錄時,沒有任何按鈕。如何使Facebook的按鈕顯示無當登錄爲頁面

所以我的問題是:我如何讓Facebook像按鈕顯示:只有當瀏覽用戶以頁面管理員身份登錄到Facebook時,

我試圖通過在容器中敲擊Facebook代碼並使用一些JavaScript來做到這一點......但我是業餘愛好者,我無法讓它正常工作。

這是我到目前爲止在CodePen:http://www.codepen.io/nouveau/pen/zfcLu

回答

0

我不相信你能做到這一點。除非Facebook has made code for it,你不能只檢查自己。

請記住,如果你把默認代碼Facebook的喜歡按鈕,它會適當地,如果用戶登錄迴應。

祝你好運!

+0

我一直「只檢查我的自我」了好幾天,現在...不能找到答案,這就是爲什麼我在這裏發佈一個問題。 teespring.com正在實現我想要的效果,所以它一定是可能的。此外,我使用的Facebook代碼是直接從Facebook複製並粘貼的,所以我知道它的正確代碼。 – nouveau 2013-05-04 01:00:14

1

你可以使用一個小腳本設置了超時功能,檢查控件的寬度

var timer; 
$(window).load(function() { 
    window.clearTimeout(timer); 
    timer = window.setTimeout(function() { 
     if ($('.fb-like').width() === 0) { 
      $('.fb-like').hide(); 
      console.log('face'); 

     } 
    }, 1000); // using 1000 milliseconds to work around load race 
}); 

Working Example

要知道,你可能會遇到一個負載比賽。如果腳本插件加載之前運行此方法可能會失敗......

+0

確認,仍然有效! – here 2014-01-07 06:11:00

+0

好主意,但邏輯看起來不對。 「如果跨度大於200像素,則隱藏它。」 ?你的小提琴壞了。對於相似的方框,如果用戶以頁面形式登錄,則跨度寬度爲零。如果用戶以人身份登錄,則類似的方塊加載並且跨度具有寬度。這是更正的邏輯:http://jsfiddle.net/alexbell/J8s3T/ – Ben 2014-02-08 01:24:26

+0

@Ben我認爲Facebook一直在玩他們的插件...看到更新 – apaul 2014-02-08 03:36:49

0

把圖標在一個容器中,並應用下面的CSS:

<style>.social-container{width:1px;height:1px;overflow:hidden}</style>