xhtml - W3C XHTML 1.0 Validator - 是否添加了对属性“Integrity”和“Crossorigin”的支持?
问题描述
尝试使用 W3C 验证器验证我的主页时,出现以下错误。
第 13 行,第 92 列:没有属性 "integrity" ....js" type="text/javascript" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo...</p>
第 13 行,第 158 列:没有属性“crossorigin”…FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous">
此问题仅在最近的程序更新后才被发现。似乎开发人员只是包含了这些属性。有一个与此和 W3C 验证器相关的线程(现在已有 5 年历史)。是否添加了对 Integrity 和 Crossorigin 的检查和支持?
if($isConnected) {
echo "<script src=\"https://code.jquery.com/jquery-3.3.1.min.js\" type=\"text/javascript\" integrity=\"sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=\" crossorigin=\"anonymous\"></script>\n";
echo "<script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.min.js\" type=\"text/javascript\" integrity=\"sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=\" crossorigin=\"anonymous\"></script>\n";
}
else {
echo "<script type=\"text/javascript\">// <![CDATA[\nwindow.jQuery || document.write(\"<script src='{$cms['tngpath']}js/jquery-3.3.1.min.js?v=910'>\\x3C/script>\")\n//]]></script>\n";
echo "<script type=\"text/javascript\">// <![CDATA[\nwindow.jQuery.ui || document.write(\"<script src='{$cms['tngpath']}js/jquery-ui-1.12.1.min.js?v=910'>\\x3C/script>\")\n//]]></script>\n";
}
显然问题在于这两个属性,就好像我注释掉上面代码的第一部分强制“else”分支然后我得到一个干净的验证。但是,在执行此操作时,该程序假定它“离线”运行,并且没有下载基于 Web 的非站点内容,例如地图。
解决方案
这些属性是在 HTML 5 中引入的。验证器在支持它们的语言版本中支持它们。XHTML 1.0 太旧了。
推荐阅读
- android - 滑动时从 recyclerview 中删除项目时,恢复和删除选项不会立即显示。它仅显示何时再次创建呼叫
- laravel - 使用 2 个不同的表登录身份验证
- c++ - 将 push_back 用于向量
> 在 C++ 中正确使用 for & while 循环? - java - 检查包含 avro 事件的字节数组是否对应于特定模式
- java - 从库 jar 中获取执行位置
- javascript - 如何将一些代码传递给接受回调的函数?
- javascript - 如何在 React 中为项目添加过渡效果
- javascript - 将现有应用程序转换为 react 会产生意外的令牌“<”
- node.js - Node.js 和 Redis:如何从回调中将项目添加到函数范围的对象?
- attributes - 在 java 中更改 KeyCloak 用户属性的值