为mime附件包装内联javascript(每行72个字符MAX)

时间:2011-04-26 23:05:34

标签: javascript mime

我正在生成一封包含HTML mime附件的电子邮件,该附件需要离线。 HTML需要一些javascript,特别是jQuery和Date.js.

我遇到的问题是javascript需要在72个字符后换行,我被告知这是出于CANSPAM的原因。此外,一些SMTP服务器将在这么多字符后强制换行。如果强制换行发生在javascript无法换行的位置,则会破坏javascript。 (jQuery缩小为1个连续行,多次超过72个字符)。

是否有可用于解析javascript文本的库或工具,并在javascript友好位置插入换行符?

我的应用程序代码是Ruby。

更新

--line-break 72在考虑为72个字符时非常慷慨,甚至将函数定义的大括号留在与函数参数相同的行上。

--line-break 0方式运行并在vim中执行:s/\){/)\r{/g后,线条似乎足够短

1 个答案:

答案 0 :(得分:1)

YUI Compressor允许您使用--line-break选项为每行指定最大列长度:

--line-break
   Some source control tools don't like files containing lines longer than,
   say 8000 characters. The linebreak option is used in that case to split
   long lines after a specific column. It can also be used to make the code
   more readable, easier to debug (especially with the MS Script Debugger)
   Specify 0 to get a line break after each semi-colon in JavaScript, and
   after each rule in CSS.

从经验来看,我已经看到它更多地将此视为指导而非严格规则。例如,如果您将换行符设置为80个字符,并且您有一个100个字符的字符串,则不会为您打破该字符串。

但是,根据您的输入文件,您可以使其正常工作。