cfhtmlhead сбросить / сбросить или отменить? - PullRequest
2 голосов
/ 13 января 2010

У нас есть несколько приложений ColdFusion, которые используют тег cfhtmlhead для добавления некоторых сценариев и тегов случайных ссылок на таблицы стилей ... проблема в том, что я не могу изменить файлы, которые делают это, и мой контент должен выполняться вместе с кодом, который имеет вызовы cfhtmlhead. Опять же, я мало что могу сделать, чтобы обойти это.

Единственное, что я могу думать о том, что почти работает, - это выполнить , который позаботится обо всем, кроме длительного ... и < link ... /> теги, которые были добавлены с использованием

Мне просто нужно знать, есть ли способ сбросить или отменить что-либо, что было добавлено через cfhtmlhead, для вывода некоторого текстового содержимого, которое не может иметь тегов script и link, или чего-либо еще, засоряющего вывод.

Из того, что я пробовал / нашел, это кажется невозможным. Кто-то может подтвердить, если это так? Я что-то упускаю какое-то простое или даже хакерское решение?

Ответы [ 2 ]

2 голосов
/ 16 января 2010

Благодаря связи Генри и нескольким другим проблемам, которые я выяснил в то же время, я подумал о других способах взлома и нашел это простое решение, которое работает для моей первоначальной проблемы, так как я не хочу / не нужениспользовать содержимое, введенное через вызов cfhtmlhead вообще:

<!--- output that doesn't work with the headerText being added to it --->
<cfsavecontent variable="dontLitter">
...
</cfsavecontent>

<cfcontent type="text/html" variable="#toBinary(toBase64(dontLitter))#" />

Это работает, потому что при использовании тега <cfcontent> с атрибутом variable все предыдущие выходные данные отбрасываются, включая все, что установлено с помощью <cfhtmlhead>- что и было нужно.

2 голосов
/ 13 января 2010
while (getMetaData(out).getName() is 'coldfusion.runtime.NeoBodyContent')
{
    out = out.getEnclosingWriter();
}
methods = out.getClass().getDeclaredMethod("initHeaderBuffer",arrayNew(1));
methods.setAccessible(true);
methods.invoke(out,arrayNew(1));

http://www.coldfusiondeveloper.nl/post.cfm/clearing-the-cfhtmlhead-buffer-in-railo

...