我在每页上使用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?
答案 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的帮助下。