删除输出HTML代码中的空格

时间:2012-08-18 20:03:28

标签: coldfusion whitespace

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

<html>
    <body>
        <cfif foo EQ bar>
            <cfset test = "something" />
        </cfif>
        <p>Hello!</p>
    </body>
</html>

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

<html>
    <body>



        <p>Hello!</p>
    </body>
</html>

有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:6)

  

有什么方法可以解决这个问题吗?

修复没有任何内容 - HTML完全有效且功能齐全。

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

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


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

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

2)将显示逻辑转换为适当的功能和自定义标签,这样可以更容易地防止/控制输出。


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

  • 将整个部分包裹在cfsilent中,以确保无法输出任何内容。

  • 启用cfsettingenablecfoutputonly属性,然后仅在您要输出的内容周围使用cfoutput。

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

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

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

答案 1 :(得分:4)

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

位于“服务器设置”下 - &gt; “设置”称为“启用空白空间管理”。

答案 2 :(得分:3)

尝试<cfprocessingdirective suppressWhiteSpace="true">

参考:http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-76de.html