2010-12-06 39 views
2

http://developers.facebook.com/docs/reference/plugins/likeFacebook的Like按鈕和W3C驗證失敗

要包括廣受歡迎的Facebook上的[贊]按鈕,我必須使用下面的代碼:

<iframe src="http://www.facebook.com/plugins/like.php?href=www.MyDomain.com&amp;layout=standard&amp;show_faces=false&amp;width=225&amp;action=like&amp;font=lucida+grande&amp;colorscheme=dark&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:250px; height:80px;" allowTransparency="true"></iframe> 

我的網站不再因爲W3C驗證allowTransparency屬性:

Line 313, Column 342: there is no attribute "allowTransparency" 
… overflow:hidden; width:250px; height:80px;" allowTransparency="true"></iframe> 

有沒有辦法解決?我無法使用XFBML版本。這是非常糟糕..

Marketing et Conception Web Sherbrooke

回答

3

您是否嘗試忽略這個屬性?它不應該是必需的。標準甚至不提及它。

+0

是的,如果沒有它的按鈕看起來沒問題,它應該工作正常 – 2010-12-06 14:23:25

+0

不,在黑色背景上不行。盒子是白色的。 – 2010-12-07 18:09:39

0

如果我沒有記錯,allowtransparency是微軟製作的一個屬性。因此,在Internet Explorer系列中使用不同的代碼以使其工作並使用其他瀏覽器驗證的不同代碼?

雖然這不是你應該擔心的事情,但遵守標準是一件好事,但如果你的網站因爲這樣的事情而無法驗證,那不是世界末日。

1

下面的代碼應該可以解決驗證問題:

<script language="javascript" type="text/javascript"> 
//<![CDATA[ 
document.write('<fb:like send="true" width="600" show_faces="true"></fb:like>'); 
//]]> 
</script> 
0

這裏是最好的代碼:

享受... :)

<div id="fb-root"></div> 
    <script type="text/javascript" language="javascript"> 
    //<![CDATA[ 
    (function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
    //]]> 
    </script> 
    <script type="text/javascript" language="javascript"> 
    // <![CDATA[ 
    document.write('<fb:like href="URL" send="false" width="450" show_faces="false"></fb:like>'); 
    // ]]> 
    </script>