2011-06-10 71 views
1

我想在我的asp.net中使用下面的代碼,但我得到錯誤。顯示像asp.net 4.0上的facebook按鈕

<script type="text/javascript"> 
    window.fbAsyncInit = function() { 
     FB.init({ appId: 'xxxxxxx', status: true, cookie: true, 
      xfbml: true 
     }); 
    }; 
    (function() { 
     var e = document.createElement('script'); e.async = true; 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('<%= fb-root.ClientID %>').appendChild(e); 
    }()); 
</script> 

我得到錯誤getElementById,因爲它顯示fb不存在的錯誤。 我有一個ID爲div的div作爲fb-root。

+0

您可以編輯您的問題以包含該div嗎? – 2011-06-10 18:50:48

回答

0

是你的<div> ID fb-rootrunat="server"

如果沒有,ClientID將無法​​正常工作,只是使用getElementById('fb-root');

如果是,嘗試在頁面的收視源來看看你會得到什麼樣的ID爲您的腳本。檢查空引用以避免錯誤也是有幫助的,如下所示:

var divFBRoot = document.getElementById('fb-root'); 

if(String(divFBRoot) != 'undefined') 
{ 
    //do your things 
} 
+0

最初我用clientid寫過,但它顯示爲空值的錯誤。所以我寫了clientId,我的div沒有runat =「server」。 – 2011-06-10 18:57:58

+0

如果您沒有runat =「server」,請嘗試使用將ID分配給您的div並通過該ID在getElementById()中將其地址。例如:

...
...然後document.getElementByid('fb-root') – 2011-08-17 21:22:07