【问题标题】:Facebook LIKE button and W3C Validation FailsFacebook LIKE 按钮和 W3C 验证失败
【发布时间】:2010-12-06 14:11:59
【问题描述】:

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

要包含来自 facebook 的流行 [Like] 按钮,我必须使用以下代码:

<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

【问题讨论】:

    标签: css facebook iframe w3c facebook-like


    【解决方案1】:

    您是否尝试过省略此属性?它不应该是必需的。甚至不提它的标准。

    【讨论】:

    • 是的,如果没有它按钮看起来还可以,它应该可以正常工作
    • 不,在黑色背景上不行。盒子是白色的。
    • @Etienne Dupuis:在每个浏览器中?
    • @Etienne Dupuis:那是因为这是微软发明的专有财产(@Badr Hari 已经说过)。如果您真的希望您的网站能够验证,您将需要一些花哨的 JavaScript 稍后添加它(或者您可以为 IE 仅服务器端添加它)。
    【解决方案2】:

    好的,在浏览了数百篇这样的帖子之后,我终于找到了一种快速简便的方法来获得一个带有“赞”按钮(或任何其他 facebook 小部件)的有效页面。

    真的只有几行代码,看看http://www.liormark.com/develop/development-articles/facebook-fbml-w3c-validation-solved

    【讨论】:

    • 您不应该只提供指向另一个站点的链接作为答案,因为该站点将来可能会过时。相反,请单击此答案上的“编辑”链接,并在此处包含该页面中解决方案的基本部分。见:meta.stackexchange.com/q/8259
    【解决方案3】:

    以下代码应该可以解决验证问题:

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

    【讨论】:

      【解决方案4】:

      如果我没记错的话,allowtransparency 是微软编造的一个属性。那么使用不同的代码与 Internet Explorer 系列使其工作并为其他浏览器验证不同的代码?

      虽然这不是您应该担心的事情,但遵循标准是一件好事,但如果您的网站因此而无法验证,那并不是世界末日。

      【讨论】:

        【解决方案5】:

        这是最好的代码:

        享受....:)

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

        【讨论】:

          猜你喜欢
          • 2012-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-15
          • 2016-08-15
          • 1970-01-01
          • 2011-01-29
          相关资源
          最近更新 更多