5

Google 有一个非常棒的 JavaScript 压缩器,叫做“Closure”

http://closure-compiler.appspot.com/home

但是在 HTML 文件中使用内联 JavaScript 会很痛苦。

问题:是否存在在线工具,我只需输入“uncompress.html”,它会输出该 HTML 的压缩版本,同时压缩所有内联 JavaScript?

4

3 回答 3

2

缩小器、混淆器和压缩器旨在解决加载页面时下载外部元素的问题。它们从来不打算用于内联 JavaScript 或 CSS,因为其中很多通常保存在页面之外的单独文件中。

由于您应该尽可能多地进行 gzip 压缩,因此对于可以处理 gzip 的浏览器,实际上您的内联 css/javascript 没有在页面上被缩小并不重要。

于 2009-12-13T20:59:15.333 回答
1

如果你使用PHP,你可能会这样调用google的编译器,然后使用header返回javascript

<?php
    $script = file_get_contents('http://www.domain.com/scripts/script.js');
    $ch = curl_init('http://closure-compiler.appspot.com/compile');

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'output_info=compiled_code&output_format=text&compilation_level=SIMPLE_OPTIMIZATIONS&js_code=' . urlencode($script));
    $output = curl_exec($ch);
    curl_close($ch);

    header('Content-type: application/javascript');
    echo $output;

?>

链接php代码

于 2010-01-05T00:42:20.297 回答
0

镜像 AutomatedTester 的评论,你真的不应该把这么多的内联 JavaScript 放到你的 HTML 文件中。

但是,如果您真的出于某种原因真的想这样做,为什么不能:

  1. 制作一个包含 JavaScript 的文本文件
  2. 用 Closure 压缩它
  3. 将其复制到您的 <script></script>标签中

我知道这不是自动的,但是您应该只需要在部署时执行此操作,而且您不是每小时都进行部署,对吗?

我没有看到太多需要最小化 HTML,因为 gzip 通常做得足够好......

于 2011-03-10T12:18:21.003 回答