我正在使用w3包含作为每页上的页脚。页面加载良好,一切正常,除了当我通过 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 来做这件事?还是阿贾克斯?
您可能正在使用 w3schools.com 提供的脚本。请注意,w3schools与W3C无关。它只是一个自定义的JavaScript,它使用了一个无效的属性,该属性可能会在JS执行后被替换。
W3C HTML 验证器不执行 JavaScript,因此在 JS 替换属性后它看不到文档。
可能的解决方案:
-
如果你想在 JavaScript 执行后验证你的 HTML,你可以在浏览器中打开你的页面,标记所有内容,打开选择的源代码,然后将此标记复制粘贴到 W3C 验证器中。
-
如果你只想在执行 JavaScript 之前/不执行 JavaScript 之前拥有一个有效的文档,你可以将脚本更改为使用
data-*
属性,例如data-include-html
。 -
如果你想支持不执行JavaScript的用户和机器人/服务,你不应该依赖JavaScript。使用服务器端编程语言(如PHP(可能会有所帮助,但是(取决于您的用例(您也可以生成纯静态HTML文件,例如,在静态站点生成器的帮助下。