Пробел / Coldfusion

Каков был бы корректный способ остановить пробел что выводы ColdFusion?

Я знаю, что существует cfcontent и cfsetting enableCFoutputOnly. Что корректный путь состоит в том, чтобы сделать это?

16
задан Leigh 16 December 2013 в 22:23
поделиться

6 ответов

Что касается тегов, cfsilent

В администраторе есть настройка на 'Включить управление пробелами'

Дальнейшее чтение по cfsilent и cfcontent reset.

4
ответ дан 30 November 2019 в 22:10
поделиться

Вы можете изменить вывод ColdFusion, получив доступ к буферу вывода ColdFusion. Джеймс Браун недавно продемонстрировал это на собрании нашей группы пользователей ( Группа пользователей веб-разработчиков Центральной Флориды ).

<cfscript>
  out = getPageContext().getOut().getString();
  newOutput = REreplace(out, 'regex', '', 'all');
</cfscript>

Отличное место для этого - Application.cfc onRequestEnd (). Ваш результат может быть одной строкой HTML, которая затем отправляется в браузер. Подключите свой веб-сервер к GZip, и вы значительно сократите пропускную способность.

5
ответ дан 30 November 2019 в 22:10
поделиться

Если ни , ни не могут вас удовлетворить, тогда вы вероятно, чрезмерно прорабатывают эту проблему.

Когда вы задаете вопрос исключительно из эстетических соображений, я рекомендую: игнорировать пробелы, это не причинит никакого вреда.

1
ответ дан 30 November 2019 в 22:10
поделиться

Я обнаружил, что даже используя все возможные способ устранения пробелов, в вашем коде все еще могут быть нежелательные пробелы или разрывы строк. Если вы все еще сталкиваетесь с этим, вам, возможно, придется пожертвовать хорошо отформатированным кодом для получения желаемого результата.

например, вместо:

<cfprocessingdirective supressWhiteSpace = "true">
<cfquery ...>
 ...
 ...
 ...
</cfquery>
<cfoutput>
 Welcome to the site #query.userName#
</cfoutput>
</cfprocessingdirective>

Вам может потребоваться код:

<cfprocessingdirective supressWhiteSpace = "true"><cfquery ...>
 ...
 ...
 ...
</cfquery><cfoutput>Welcome to the site #query.UserName#</cfoutput></cfprocessingdirective>

Это не CF, добавляющий пробелы, а вы добавляете пробелы при форматировании CF.

HTH

0
ответ дан 30 November 2019 в 22:10
поделиться

В качестве альтернативы вы можете убедиться, что вся ваша страница хранится в переменной, и вся эта обработка выполняется в тегах cfsilent. например

<cfsilent>
    <!-- some coldfusion -->
    <cfsavecontent variable="pageContent">
        <html>
            <!-- some content -->
        </html>
    </cfsavecontent>
    <!-- reformat pageContent if required -->
</cfsilent><cfoutput>#pageContent#</cfoutput>

Наконец, вы можете выполнить любую дополнительную обработку после того, как вы сгенерировали содержимое страницы, но перед его выводом, например регулярное выражение для удаления лишних пробелов или корректировки кода.

0
ответ дан 30 November 2019 в 22:10
поделиться

Вот совет, если вы используете CFC.

Если вы не ожидаете, что ваш метод будет генерировать какие-либо выходные данные, используйте output = "false" в и (не требуется, только если вы используете стиль скрипта CF9). Это устранит множество нежелательных пробелов.

0
ответ дан 30 November 2019 в 22:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: