我喜欢 YSlow。并在遵守规则时尝试使用常识。但为了好玩,我试图让我的 ASP.NET MVC 站点获得 100 分。而且我快到了(目前为 99 分,甚至将我的站点镜像到不同的服务器并更改 about:config 以模拟 CDN )。
经过测试,我发现要在规则 8 上获得满分(我会因为 2 个内联脚本而被扣一分),你必须违反 HTML5 语法规则(根据w3c 验证器)。我认为这也适用于 HTML4 语法规则。
例如,对于不扣除(违反 HTML5 语法规则):
<script type="text/javascript" src="/ui/scripts/lib/core.js" />
对于有效的 HTML5,但会扣除 YSlow 分数:
<script type="text/javascript" src="/ui/scripts/lib/core.js"></script>
我的假设是,在某种意义上这是正确的,因为网络浏览器将扫描第二个示例中的任何脚本,而不是第一个示例(因为第二个是打开和关闭标签)。
有谁知道解决这个问题的另一种方法?一个 socre 一个完美的 100 并且仍然有有效的 HTML5 吗?