HtmlCompressor 是一个 Java 类库,用来对 HTML 内容进行压缩。HtmlCompressor 会删除 HTML 中无用的空格、空行、注释等内容。
示例代码:
HtmlCompressor compressor = new HtmlCompressor();
compressor.setEnabled(true); // 如果false,则关闭所有压缩(默认值为true)
compressor.setRemoveComments(true); // 如果false保留HTML注释(默认值为true)
compressor.setRemoveMultiSpaces(true); // 如果false保留多个空格字符(默认值为true)
compressor.setRemoveIntertagSpaces(true); // 删除iter标记空白字符
compressor.setRemoveQuotes(true); // 删除不必要的标记属性引号
compressor.setSimpleDoctype(true); // 简化现有doctype
compressor.setRemoveScriptAttributes(true); // 从script标签中移除可选属性
compressor.setRemoveStyleAttributes(true); // 从style标签中移除可选属性
compressor.setRemoveLinkAttributes(true); // 从link标签中移除可选属性
compressor.setRemoveFormAttributes(true); // 从form标签中移除可选属性
compressor.setRemoveInputAttributes(true); // 从input标签中移除可选属性
compressor.setSimpleBooleanAttributes(true); // 从布尔标签属性中移除值
compressor.setRemoveJavaScriptProtocol(true); // 从内联事件处理程序中删除“javascript:”
compressor.setRemoveHttpProtocol(true); // 将“http://”替换为“//”内部标记属性
compressor.setRemoveHttpsProtocol(true); // 将“https://”替换为“//”内部标记属性
compressor.setPreserveLineBreaks(true); // 保留原始换行符
compressor.setRemoveSurroundingSpaces("br,p"); // 删除提供的标记周围的空格
compressor.setCompressCss(true); // 压缩内联css
compressor.setCompressJavaScript(true); // 压缩内联js
compressor.setYuiCssLineBreak(80); // Yahoo YUI压缩机的换行参数
compressor.setYuiJsDisableOptimizations(true); // 禁用Yahoo YUI压缩器的优化参数
compressor.setYuiJsLineBreak(-1); // Yahoo YUI压缩机的换行参数
compressor.setYuiJsNoMunge(true); //--nomunge param for Yahoo YUI Compressor
compressor.setYuiJsPreserveAllSemiColons(true);// 为Yahoo YUI Compressor保留半参数
// 使用Google闭包编译器进行javascript压缩
compressor.setJavaScriptCompressor(new ClosureJavaScriptCompressor(CompilationLevel.SIMPLE_OPTIMIZATIONS));
// 使用您自己的css压缩程序实现
compressor.setCssCompressor(new MyOwnCssCompressor());
String compressedHtml = compressor.compress(html);