2011-09-06 81 views
0

我发现了一些工具like this one,可以让我在网页中为javascript代码创建“自动提取”javascript,它使用各种技术来最小化传输大小。压缩整个网页(HTML和JS)

我有a webpage它有一个相当大的JavaScript代码块。但是由于我还没有完成优化文件大小的工作,我正在考虑对网站的HTML位做同样的事情。在我的博客页面上,PHP脚本从大量文本文件中提取HTML片段,并将它们连接成一个巨大的HTML文件并发送出去。 Chrome告诉我用gzip压缩它会减少三分之二的文件大小。

但是我确实关闭了gzip压缩,因为发生的情况是,如果您下载了我通过Internet Explorer托管的任何zip压缩文件,它会使dep忽略gunzip,因此IE下载的文件始终被损坏。我想如果我解决这个小问题,我可以将gzip恢复,但是暂时我想尝试看看我能否制作一个自解压HTML页面。是否有可能让javascript提取一个巨大的HTML字符串并将整个块添加为body元素的子元素?这会起作用吗?

回答

2

这样做会比较慢,而且很容易出错。任何Javascript错误都会导致整个页面无法呈现,并且您的搜索引擎优化将被彻底摧毁。坚持定期呈现HTML:当浏览器正在下载/解析HTML时,它将开始获取其他资源(图像,脚本,CSS)并呈现布局。不要太专注于最小的下载大小,而是最快的整体体验。

大量使用免费提供的CDN。有两大巨头:谷歌和微软,它们拥有jQuery和Modernizr等各种脚本。在可能的情况下坚持使用谷歌,他们似乎比微软有更高的采用率,因此热缓存的可能性更高。过去,将CDNJS用于其他公共可用的库 - 它们有很多。

缩小您现有的Javascript,并为静态和动态页面启用内容压缩。不要强迫它,让浏览器请求它。你在哪个版本的IE上看到腐败?我还没有看到这是自IE6以来的一个问题...

使用Javascript打包程序将使您的网站显示较慢,在您的一端保存更多的传输字节的代价。脚本不仅必须运行,而且现在要求用户的浏览器在脚本运行之前执行额外的(可能较大的)额外步骤。

如果您尝试下载单个文件(使用“另存为”对话框),则无法使用内容类型为'application/zip'的gzip。实际的Zip格式可用于PHP,请使用这些库。

+0

谢谢!非常丰富。很长的事情,我要做的事情。 :) –

0

作为一个快速赢得Cloudflare具有HTML,JS和CSS的自动缩小功能。我们已经使用了一段时间,并取得了良好的效果。绝对值得一看。