0

到目前为止,我已经测试了几个页面,似乎无论我试图<CFHTMLHEAD>在 ColdFusion 11 中将 CSS 或 JavaScript 添加到 CFM 页面的何处,它都不会添加它(在 CF8 中工作正常)。

我在 SO 上阅读了有关在管理员 > 服务器设置 > 设置中从默认值 1024KB 增加“最大输出缓冲区大小”的信息,但是我尝试过的每个值(2048KB、4096KB,甚至是允许的最大值 999999KB)我得到了结果相同 - 页面加载时内容不包含在<HEAD>标签中。

有没有其他人遇到过这个问题并找到了解决方案?

代码示例:

htmlhead.cfm:

<cfif NOT ThisTag.HasEndTag>
    <cfthrow message="Missing end tag for custom tag htmlhead." type="HeadWrap" />
</cfif>

<cfif ThisTag.ExecutionMode is "End">
    <cfhtmlhead text="#ThisTag.GeneratedContent#" />
    <cfset ThisTag.GeneratedContent = "" />
</cfif>

索引.cfm:

<cfsilent>
    <!--- 
        Data Retrieval, validation, etc. here
    --->

    <cf_htmlhead>
        <style type="text/css">
            tr.status-RETIRED td {
                color: #800000;
            }

            tr.status-PENDING td {
                color: #008000;
            }
        </style>
        <script type="text/javascript">
        $(function(){
            $(".options-menu").mouseleave(function(e){
                $(this).hide("fast");
            })

            $(".options-menu-link").mouseover(function(){
                $(".options-menu").hide("fast");

                $(".options-menu[data-sku='" + $(this).data("sku") + "']").show("fast");
            }).click(function(e){
                e.preventDefault();
            });
        });
        </script>
    </cf_htmlhead>
</cfsilent>

<!--- 
    Custom Tag layout.cfm contains the DOCTYPE declaration, html, head (loads jquery, jquery-ui, css, etc.), and body tags with a header and footer for each page.
--->
<cf_layout>
    <!--- Page Content Here (a form, a table, some divs, etc.) --->
</cf_layout>
4

1 回答 1

3

我发现在 CF11 中,在 cfcontent reset="true" 之前使用 cfhtmlhead 调用添加的任何内容都不会添加到结果文档中。您在 cf_htmlhead 之后调用的 cf_layout 标记是否包含内容重置?

例如,

<!--- This will not be added under CF11. --->
<cfhtmlhead text="<!-- I'm some content that will only be included in CF10 or lower. -->">

<cfcontent reset="true">

<!--- This will be added under CF11 and lower. --->
<cfhtmlhead text="<!-- I'm some content that will be added in CF11 and lower. -->">

... the rest of your view code ...

<!--- This is a sample of the content you will get under CF11 --->
<!doctype html>
<html>
<head>
   <meta charset="UTF-8" />
   <title>Head Testing</title>
      <!-- I'm some content that will be added in CF11 and lower. -->
   </head>
   <body>
      <h1>Page content</h1>
   </body>
</html>
于 2015-01-23T00:35:05.037 回答