回到当天(是的,我真的很老)你可以用这个重命名的zip文件引用脚本
<script archive="path/to.jar" src="some.js"></script>
这在IE4,NS4和Opera5上得到了支持,具有相同的标记和语义,但已被委托给数字废品场。为什么呢?
对于那些对答案感兴趣但对填充旧邮件线程感兴趣不够感兴趣的人(请参阅下面的评论),可以通过指定{{{名}来获取传输层的压缩。 1}}因此在表示层中支持标记是不合适的,因此它被删除了。这也提高了粒度,因为脚本文件在缓存中单独版本化。
鉴于传输层使用gzip,缩小的重点是什么? gzip字典令牌传递将通过线路实现这一点,而不会产生可怕的调试器体验。
我同意串联会提高压缩率。我想一些服务器/浏览器组合可能无法使用gzip,在这种情况下缩小会有所帮助。
答案 0 :(得分:6)
archive
属性对于任何对此属性感兴趣的人,DevX在他们的Daily Tip on March 23, 1999中提到了它。原始文本在此处重复保存:
ARCHIVE是Internet Explorer 4和Netscape Navigator 4中
<SCRIPT>
标记的新属性,可以加快具有大型JavaScript文件的网站的下载时间。如果要加载多个JavaScript文件和数字签名,则将它们压缩为单个JAR(Java Archive)文件会更有效。 JAR存档是压缩文件,添加了自我描述性信息。在JAR文件中,您仍然需要为HTML页面中的每个实例指定外部JavaScript文件。
<SCRIPT ARCHIVE="myArchive.jar" SRC="myScript.js"></SCRIPT>
这不在任何标准轨道中,现代浏览器似乎也不会以不赞成的方式支持此属性。一个简单的功能测试表明:
"archive" in document.createElement( "script" );
结果非常一致:
我们今天在现代浏览器中并不需要这样的功能。我们现在有better encoding options和过多的build tools来连接和缩小多个依赖项。我们还有require.js和r.js等实用程序,它们打包多个文件以减少HTTP请求。
简而言之,网络正好超越了传输压缩依赖项的需求。
同样的问题是asked in 2003 on the W3C's www-html mailing list。下面列出了为什么不再需要像[archive]这样的属性的一些论据:
MSDN有一个标题为Script-based Security的资源,今天仍然引用它。
MDN还有一个名为Signed Scripts in Mozilla的主题的归档资源。
鉴于传输层使用gzip,缩小的重点是什么? gzip字典令牌传递将通过线路实现这一点,而不会产生可怕的调试器体验。
可能是这种情况(不太可能,但可能)浏览器不支持gzip。在这些情况下,连接/缩小的来源会好得多。包括缩小步骤在内的现代构建过程也提供了更精细的控制,gzip可能无法与之竞争。例如,缩小可以删除冗长的源注释。
至于调试体验,您始终可以利用source maps的现代浏览器支持,这样就不需要实际调试缩小的代码。