2014-12-30 3 views
0

Я тестировал несколько страниц до сих пор, и кажется, что везде, где я пытаюсь использовать <CFHTMLHEAD>, чтобы добавить CSS или JavaScript на страницу CFM в ColdFusion 11, он не добавит ее (отлично работает в CF8).Почему CFHTMLHEAD не работает в ColdFusion 11?

Я прочитал о том, как увеличить «Максимальный размер буфера вывода» в «Администраторе»> «Настройки сервера»> «Настройки» из значения по умолчанию 1024 КБ, но каждое значение, которое я пробовал (2048 КБ, 4096 КБ и даже максимально допустимое значение 999999 КБ) Я получаю тот же результат - содержимое не включается в тег <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> 

index.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> 
+3

нет ошибок, просто нет результатов? Репро? –

+0

@AdamCameron, нет, нет ошибки. Страница загружается, но когда я смотрю в HEAD в источнике, теги сценария и стиля, которые я закодировал в теге CFHTMLHEAD, там нет (вызывая неправильное отображение частей страницы и/или неправильную работу). –

+1

ОК, а вторая (и * основная *) часть моего вопроса: репродукция случая? IE: дайте нам некоторый код, который демонстрирует, что вы видите. http://sscce.org/ –

ответ

3

Я обнаружил, что в CF11 что добавляется с помощью cfhtmlhead вызов, который приходит до того, cfcontent reset = "true" не добавляется в результирующий документ. Тег cf_layout, который вы вызываете после того, как cf_htmlhead содержит сброс содержимого?

Например,

<!--- 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> 
Смежные вопросы