You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

W3C验证器提示‘fb:like无法表示为XML 1.0’问题求助

解决W3C验证中fb:like元素不符合XML 1.0的问题

嘿,这个问题我帮好多开发者踩过坑——W3C验证器抛出的“元素名称fb:like无法表示为XML 1.0”警告,核心原因很简单:XML 1.0规范里,元素名称里的冒号是专门给XML命名空间用的,但你页面里的fb:前缀没有绑定任何合法的命名空间,所以验证器不认它。

而且要提一句,Facebook的旧FBML(Facebook Markup Language)其实早就被弃用了,就算你补了命名空间,后续也可能遇到兼容性问题,所以更推荐用官方现在主推的JavaScript SDK方案,一步解决验证和功能问题:

具体替换步骤

  • 第一步:加载Facebook JavaScript SDK
    在页面的<head>标签里(或者<body>底部,不影响首屏加载的位置)添加这段脚本:

    <script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v18.0" nonce="YOUR_NONCE_VALUE"></script>
    

    注:nonce属性是给内容安全策略(CSP)用的,如果你的网站没配置CSP,可以直接去掉这个属性。

  • 第二步:替换原fb:like标签
    把你原来的<fb:like>标签替换成带data属性的div元素,配置参数和原来保持一致就行:

    <div class="link-social-follow">
      <div class="fb-like" 
           data-href="https://www.facebook.com/testingPage" 
           data-send="false" 
           data-layout="button_count" 
           data-width="80" 
           data-show-faces="false">
      </div>
    </div>
    

这样改完之后,再跑W3C验证就不会有那个警告了,而且这种方式是Facebook官方当前推荐的嵌入方案,兼容性更好,后续功能更新也能同步跟上。

内容的提问来源于stack exchange,提问作者rams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:22:43