我喜欢YSlow。并遵循它的规则尝试使用常识。但为了好玩,我试图让我的ASP.NET MVC网站获得100分。而我几乎就在那里(目前只有99,甚至将我的网站镜像到另一台服务器并更改about:config来模拟CDN )。
经过测试后,我发现要获得规则8的完美分数(我为2个内联脚本扣除了一分),你必须违反HTML5语法规则(根据the w3c validator)。我认为这也适用于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>
我的假设是,在某种意义上这是正确的,因为Web浏览器将扫描第二个示例中的任何脚本而不是第一个脚本(因为第二个是打开和关闭标记)。
有没有人知道另一种方法?一个社会可以成为完美的100并且仍然拥有有效的HTML5吗?
答案 0 :(得分:4)
在这两种情况下,您都可以从脚本标记中删除type="text/javascript"
。但是,是的,你需要一个结束脚本标签。
YSlow在这里不正确。