如何将JavaScript代码转换为一个大的Java字符串

时间:2009-01-13 20:23:10

标签: javascript string escaping server-side quotes

所以我有1000行javascript。我需要把它变成一个Java String,这样我就可以输出(通过System.out.println或其他)。

我正在寻找一个 在线工具来逃避所有报价 ......面向我的特定需求的东西会很好,因为我不想要其他特别的人物改变了。像这样的行:

var rgx = /(\d+)(\d{3})/;

需要保持完整。

这种情况要求将JavaScript放入String中,所以请不要解决。

4 个答案:

答案 0 :(得分:5)

这是一个以Crockford's implementation of the quote() function为特色的链接。用它来构建自己的JavaScript转换器。

修改:我还slightly modified the function默认输出ascii-safe字符串。

Edit2:只是一个建议:将JavaScript保存在外部文件中并在运行时读取而不是硬编码可能会更聪明......

Edit3:这是一个功能齐全的解决方案 - 只需复制到.html文件并替换虚拟脚本:

<script src="quote.js"></script>
<script>
// this is the JavaScript to be converted:
var foo = 'bar';
var spam = 'eggs';

function fancyFunction() {
    return 'cool';
}
</script>
<pre><script>
document.writeln(quote(
    document.getElementsByTagName('script')[1].firstChild.nodeValue, true));
</script></pre>

答案 1 :(得分:1)

您可以使用其中一种可用工具压缩文件以实现此效果:

YUI Compressor Online

Dean Edward's Packer

Douglas Crockford's JSMIN

答案 2 :(得分:0)

您可以使用jsmin工具将Javascript压缩到单行(希望如此),但它不会转义引号。这可以通过编辑器中的搜索/替换或使用的服务器端脚本语言来完成。

答案 3 :(得分:0)

所以我尝试的一切最终打破了javascript。我终于通过以下方式开始工作:

使用Notepad ++:

  1. 点击Shift + Tab多次取消每一行

  2. 视图 - &gt;显示行尾

  3. 突出显示LF字符并执行全部替换以替换为空字符串
  4. 重复CR char

  5. 突出显示“(引用字符)并使用\来执行全部替换”(转义引号)...只需在“替换”提示中键入引号字符,只会出于某种原因抓取部分引号。

  6. 现在你有一个非常长的行......我最终不得不将1个字符串分成大约2000个字符的长行....疯狂的长行是杀死IE和/或破坏Java字符串限制。