修复cfloop在IE6中向表中添加不需要的空格?

时间:2012-04-16 14:42:50

标签: html css coldfusion internet-explorer-6

我被迫使这个网站与IE6兼容。我希望我没有,但这就是生活。

这是问题所在。当我运行 cfloop query =“thisqueryName” 时,它会在overflow-y:scroll表的顶部添加大约... 500-600px的空格。

我已经尝试强制桌面顶部的位置来补偿额外的空白,但没有运气。

<div id="myDivid" >
<table id="thistablename">
    <!--- Here is the problem --->
<cfloop query="thisqueryname">
            <!--- End of Problem Code -->
    <cfquery name="thisotherqueryname" datasource="#Application.dsn#">
            SELECT  name
                    , frequency
                    , ninjaskills
            FROM    thistablename
            WHERE   tid = #ID#
                    AND status = 'A'
        </cfquery>
        <cfquery name="anotherqueryname" datasource="#Application.dsn#">
            SELECT  somestuffhere
            FROM    thisothertablenamehere
            WHERE   ID = #ID#
        </cfquery>
    <tr>
        <th class="numCol"></th> 
                   <!--- etc etc etc --->

(不,这不是我的命名架构(:名称已被更改以保护无辜者和所有这些)

任何修复或有用的建议来解决这个问题将非常感谢!

5 个答案:

答案 0 :(得分:4)

您有几个因素对您不利。在你试图打击它之前Know what generates whitespace

  1. 将您的查询和循环移至页面顶部,并将其打包在<cfsilent>

  2. 将您生成的实际HTML放在<cfsavecontent>

  3. 在模板的可查看区域(<cfsavecontent>调用之外)输出您构建的单个<cfsilent>变量。

  4. 如果你有类似Application.cfc或Application.cfm的东西,请确保通过确保所有函数调用的输出属性都设置为false(适用于Application.cfc)来充分抑制空格。 ,或者在Application.cfm的情况下,您在开始时有<cfsetting enablecfoutputonly=true> ...并且最后有<cfsetting enablecfoutputonly=false>

  5. 如果所有其他方法都失败了,并且您仍然在开始时获得空格,则可以使用<cfcontent type="text/html; charset=UTF-8" reset="true" />

  6. 在“抑制器”中“破解”

答案 1 :(得分:0)

围绕您的查询包裹<cfsilent>。这应该会有所帮助。

或者,在页面顶部设置<cfsetting enableCFoutputOnly = "yes">,然后仅在<cfoutput>标记内包含要输出的部分。

答案 2 :(得分:0)

另一种选择是将你正在做的事情分成两个循环。让第一个循环使用后续查询中的数据操作查询。然后第二个循环纯粹用于输出。这样可以避免在桌面上留下太多额外的空白。

答案 3 :(得分:0)

在文件底部设置<cfsetting enablecfoutputonly="true" />,在文件底部设置<cfsetting enablecfoutputonly="false" />,并使用<cfoutput>...</cfoutput>专门向浏览器输出内容。只有cfoutput标签内的内容才会输出到屏幕,包括空格。

答案 4 :(得分:0)

<cfprocessingdirective suppressWhiteSpace = "yes">

或者,CF管理员中的“启用空白管理”设置。