w3-include-html导致验证错误来自https://validator.w3.org/

时间:2018-05-30 07:14:19

标签: html include w3c-validation

我在每页上使用w3 include作为我的页脚。页面加载正常,一切都很好,除非我通过https://validator.w3.org/运行代码进行验证我收到此错误:

"错误:此时元素div上不允许属性w3-include-html。"

  <!--FOOTER-->
  <div w3-include-html="../includes/footer.html"></div>

  <!--Include HTML Files-->
  <script>
    w3.includeHTML();
  </script>

w3是否包含广泛支持?我应该用PHP或asp.net这样做吗?还是ajax?

1 个答案:

答案 0 :(得分:1)

您可能正在使用a script offered by w3schools.com。请注意,w3schools与W3C无关。它只是一个自定义JavaScript,它使用了一个无效的属性,可能在JS执行后被替换。

W3C HTML验证器不执行JavaScript,因此在JS替换属性后它没有看到文档。

可能的解决方案:

  • 如果要在执行JavaScript后验证HTML,可以在浏览器中打开页面,标记所有内容,打开选择的源代码,然后将此标记复制粘贴到W3C验证器中。

  • 如果您只想在执行JavaScript之前/之后拥有有效文档,可以将脚本更改为使用data-* attribute,例如data-include-html

  • 如果您想支持不执行JavaScript的用户和机器人/服务,您不应该依赖JavaScript。使用服务器端编程语言(如PHP)可以在这里提供帮助,但是(根据您的使用情况)您也可以生成纯静态HTML文件,例如,在static site generator的帮助下。