Facebook LIKE按钮和W3C验证失败

时间:2010-12-06 14:11:59

标签: css facebook iframe w3c facebook-like

http://developers.facebook.com/docs/reference/plugins/like

要在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>

由于allowTransparency属性,我的网站不再在W3C上验证:

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

有办法解决吗?我不能使用XFBML版本。这非常糟糕..

Marketing et Conception Web Sherbrooke

5 个答案:

答案 0 :(得分:3)

您是否尝试省略此属性?它不应该被要求。标准甚至没有提到它。

答案 1 :(得分:2)

好的,经过几百个这样的帖子,我终于找到了一个快速简便的方法来获得一个带有Like按钮(或任何其他facebook小部件)的有效页面。

只需几行代码,请查看http://www.liormark.com/develop/development-articles/facebook-fbml-w3c-validation-solved

答案 2 :(得分:1)

以下代码应修复验证问题:

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

答案 3 :(得分:0)

如果我没记错的话,allowtransparency是Microsoft制作的一个属性。因此,使用与Internet Explorer系列不同的代码使其工作,并为其他浏览器使用不同的代码进行验证?

虽然这不是你应该担心的事情,但遵循这些标准是件好事,但如果你的网站因为这样的事情而无法验证,那么它就不是世界末日。

答案 4 :(得分: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>