【问题标题】:Is it possible to compress/decompress my html code with jquery?是否可以使用 jquery 压缩/解压缩我的 html 代码?
【发布时间】:2012-11-14 15:21:37
【问题描述】:

我在网上搜索了所有关于“压缩 html javascript”之类的东西,但没有找到可以回答我的问题的东西,但我不明白出了什么问题。问题:如果您的 html 页面中有类似 <span>blah<span>blah</span>blah<span>blah</span></span> 的内容,为什么不尝试压缩它呢?例如,

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<style>
.click {color: blue; cursor: pointer;}
.encoded {display:none;}
</style>
<script src="jquery.js"></script>
<script>
$(document).ready(function () {
$.fn.encode = function () {
//encoding code
};
$.fn.decode = function () {
//decoding code
};
$('.click').click(function () {
var decoded = $(this).next('.encoded').text().decode();
$(this).next('.encoded').removeClass('encoded').addClass('decoded').html(decoded);
});
});
</script>
</head>
<body>
<div class="click">click</div>
<div class="encoded">AbCxYz*_()+=…
<!-- decoded html: <span>blah<span>blah</span>blah<span>blah</span></span>-->
</div>
</body>
</html>

是否有任何功能可用于这些编码/解码部分?当然,base64 不是一个解决方案,因为必须首先压缩 html,然后然后必须将 base64 之类的东西应用于结果...

【问题讨论】:

  • HTML 压缩器有很多,其中之一是htmlcompressor.com/compressor.html
  • 因为如果您只使用 HTTP 内置的压缩​​选项,它会更简单、更高效并且不会向非 JS 客户端(包括搜索引擎)隐藏内容。
  • @AurA — 缩小,不压缩。
  • 解码需要时间,所以可能只适用于短 div。那时它看起来更像是混淆而不是压缩。我认为压缩的最佳位置是在服务器端,内容被压缩,浏览器解压缩。对于 http 协议,这已经可以完成。
  • 补充 Quentin 的评论:例如,在 IIS(Web 服务器)中,您打开静态和/或动态压缩,它只会压缩您通过它提供的所有内容。完全透明。

标签: javascript jquery html


【解决方案1】:

几乎所有浏览器和 Web 服务器都支持 gzip 压缩,比 javascript 传输更有效。事实上,对于许多网络服务器,您可以将您的网页上传为.html.gz(对于大多数浏览器)和.html(对于不支持压缩的客户端;主要是机器人,没有真实用户),网络浏览器将自动为支持的压缩版本。

请注意,与 javascript 相比,支持 HTTP(不限于 HTML - 也适用于 CSS)压缩的客户端尤其多。

【讨论】:

  • 我必须加倍我之前的评论:我不是在谈论在线(http)和压缩整个页面,我只是关心压缩我的自定义部分的想法,例如,在一个离线的 html 文档。但是现在我意识到你们都认为它没用,好吧...... :(
  • 您也可以离线使用.html.gz。尝试使用 Firefox、Chrome、IE 打开文件 - 它们都应该可以正常工作。最大的障碍是 Windows 没有意识到它仍然是一个 HTML 文件,并且经常会尝试使用 WinZip 打开它。
  • @Anone-Mousse 在 Linux 上也是这样,所以我不知道你的意思。打开“.html.gz”文件似乎不是您浏览器的默认行为。 (Gnome-Shell)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多