我被迫使这个网站与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 --->
(不,这不是我的命名架构(:名称已被更改以保护无辜者和所有这些)
任何修复或有用的建议来解决这个问题将非常感谢!
答案 0 :(得分:4)
您有几个因素对您不利。在你试图打击它之前Know what generates whitespace。
将您的查询和循环移至页面顶部,并将其打包在<cfsilent>
。
将您生成的实际HTML放在<cfsavecontent>
。
在模板的可查看区域(<cfsavecontent>
调用之外)输出您构建的单个<cfsilent>
变量。
如果你有类似Application.cfc或Application.cfm的东西,请确保通过确保所有函数调用的输出属性都设置为false(适用于Application.cfc)来充分抑制空格。 ,或者在Application.cfm的情况下,您在开始时有<cfsetting enablecfoutputonly=true>
...并且最后有<cfsetting enablecfoutputonly=false>
。
如果所有其他方法都失败了,并且您仍然在开始时获得空格,则可以使用<cfcontent type="text/html; charset=UTF-8" reset="true" />
答案 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管理员中的“启用空白管理”设置。