我知道有几种工具能够混淆JavaScript文件,例如通过简单的函数来完成:
function testing()
{
var testing;
var testing2;
alert(testing+testing2);
}
到
function a(var a,b;alert(a+b);)
我的问题是这样的事情是否存在与CSS / HTML一起使用(或者是否存在具有类似效果的工具)?特别是,缩小/混淆工具,实际上重命名变量和refereneces并消除额外的空白等。
如果是这样的话 - 性能上的好处是否会超过CSS / HTML / JavaScript缩小/混淆的可读性?
答案 0 :(得分:11)
“缩小”HTML或CSS非常困难,因为所有可以安全保存的都是空白区域(这不会带来巨大的节省)。对于类重命名,你松散了Web的一个重要部分,它具有语义代码(代表含义)。我认为最好的选择是确保您的Web服务器上启用了gzip压缩,并尽可能专注于将资产组合到一个文件中。
答案 1 :(得分:9)
HTML Muncher是一个python工具,它尝试在HTML,JavaScript和CSS文件中重命名ID和CSS类名。在将文件传递给其他工具(如Google Closure Compiler或YUI CSS Compressor)之前,您可以将其用作优化过程的第一步。
答案 2 :(得分:2)
YUI Compressor minifies CSS,但我不确定它对简单的gzip压缩有多大的好处。如果你有那么多的CSS,它可能是一个更大问题的警告信号。
答案 3 :(得分:1)
看看这个:minifycss
至于混淆,我不确定这是一个好主意。 css类可以在任何地方操作。你改变css的那一刻你将失去指向类/ ids等的链接......
答案 4 :(得分:1)
如果你使用Ruby,那么我使用的是Ruby CSS Minifier,效果很好。鉴于我已经很简洁的风格,它让我的文件大小减少了15%。
例如,在一个项目中,32.3kiB的5个文件的聚合变为1个26.4kiB(18%)的文件。在另一个项目中,21.6kiB的2个文件成为19.0kiB(12%)的1个文件。
答案 5 :(得分:0)
看看html5boilerplate.com;特别是GitHub上的最新源代码。
HTML5Boilerplate的构建脚本可以缩小 JavaScript,CSS和HTML。它不会重命名您的CSS选择器,但它可能是最接近您将找到的自动“混淆器”。
如果您只想从每个页面中查找一些额外的字节,请确保使用gzip / deflate压缩,然后尝试按字母顺序排列CSS选择器属性和HTML元素的属性及其值。
Read this了解Google对上述方法的详细建议。
在一些带有HTML帮助器的动态语言(如asp.net/C#)中,您可以将html-control的“ClientID”方法覆盖为随机字符串,并将CSS选择器动态链接到HTML(以及服务器端)控件,呈现HTML)。但这完全是另一个问题,可能不是你想要进入的问题。这也将成为维护的噩梦。
答案 6 :(得分:-1)
您可以使用许多在线工具进行css缩小等操作。这是一个online css minifier!我找到了。
至于重命名css类,我会尽量避免这种情况,因为你会从你的html中失去很多可读性。
答案 7 :(得分:-3)
我开发了用于混淆CSS的工具。它的目标不是让样式表加载速度更快或者更快,而是让你的“可重复使用”工作免于窃取。它有几种方法可以让你获得一个原始的CSS源(但它仍在开发中,将使用更好的方法)。我会推荐给HTML / CSS模板卖家,他们提供现场演示,并担心盗窃,也为编码员 - 自由职业者,他们想向(不信任)客户展示他们的工作。您可以尝试:http://cssobfuscator.com