删除输出HTML代码中的空格

Ele*_*ist 2 coldfusion whitespace

考虑test.cfm文件,其中包含以下内容:

<html>
    <body>
        <cfif foo EQ bar>
            <cfset test = "something" />
        </cfif>
        <p>Hello!</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在浏览器中运行时,此文件输出的源代码如下所示:

<html>
    <body>



        <p>Hello!</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

有没有什么办法解决这一问题?

Pet*_*ton 6

有没有什么办法解决这一问题?

没有什么可以解决的 - HTML完全有效且功能齐全.

如果您的问题是请求的大小,请使用gzip编码.

如果您的问题是阅读调试/等的源代码,请使用Firebug等开发人员工具.


但是,您应该做的一般事情是提高可维护性(同时也减少空白输出):

1)将任何非显示逻辑的内容移出您的视图.

2)根据需要将显示逻辑转换为函数和自定义标记,这样可以更容易地防止/控制输出.


要防止输出不需要的内容,您可以:

  • cfsilent包装整个部分,以确保没有输出.

  • 启用cfsetting的enablecfoutputonly属性然后只使用cfoutput来围绕要输出的内容.

  • 始终设置output=false组件和功能标签.

  • 当您想要有选择地输出一些文本时,在CFML注释中包装非标记非输出段<!---... --->(例如,用于防止自定义标记中的换行输出)

(我从不打扰cfprocessingdirective,上面提到的一切都能更好地解决问题.)

  • 我认为CF9或CF10有一个gzip的管理员设置,但在快速搜索中找不到任何相关内容.(我知道[Railo](http://getrailo.org)有这样的设置.) (2认同)

Sco*_*roz 5

如果您有权访问 CF 管理员,则可以选择抑制空白。

它位于“服务器设置”-->“设置”下,称为“启用空白管理”。