Изменение тегов Coldfusion для использования библиотек JavaScript, размещенных на CDN - PullRequest
3 голосов
/ 13 января 2010

Мне передали приложение Coldfusion для поддержки, и я заметил, что CF добавляет теги сценария на определенные страницы. Кажется, что эти js-файлы поддерживают определенные теги CF, потому что я не могу найти ссылку на файл (ы) .js в файле .cfm (или в любых последующих включаемых файлах). Файлы .js являются популярными библиотеками, доступ к которым можно получить через CDN, а не обслуживать их с нашего веб-сервера. Итак, мой вопрос:

Можно ли изменить тег CF или настройку Coldfusion для обновления URL .js?

Ответы [ 2 ]

4 голосов
/ 13 января 2010

Использование атрибутов scriptsrc и cssSrc

Атрибут scriptsrc полезен, если файлы JavaScript не находятся в расположение по умолчанию. Этот атрибут требуется в некоторых средах хостинга и конфигурации, которые блокируют доступ в каталог / CFIDE.

Значением скрипта по умолчанию является определяется по умолчанию CFFORM Настройка ScriptSrc Directory на Настройки сервера> Страница настроек Администратор ColdFusion. Для cfform теги, атрибут scriptsrc тега имеет приоритет над этим атрибутом.

Вы можете использовать этот атрибут, только если Тег cfajaximport находится на верхнем уровне страница; то есть страница, которую клиент напрямую просит. Вы не можете использовать это, например, на странице, которая указанный в источнике тега cfwindow атрибут.

Когда вы используете тег cfajaximport с атрибут scriptsrc, указанный каталог должен иметь одинаковую структуру в качестве каталога / CFIDE / scripts. За Например, если вы укажете scriptsrc = "/ resources / myScripts", Файлы JavaScript, используемые AJAX, должны быть в / resources / myScripts / ajax каталог.

Этот атрибут указывает папку который содержит ColdFusion клиентские файлы для всех последующих теги на текущей странице, а не только для Теги на основе AJAX. Следовательно Дерево каталогов должно включать все ColdFusion клиентские файлы, используемые эти теги. Например, если cfform тег на странице находится во Flash или апплете формат, включите Файл CF_RunActiveContent.js в каталог, указанный в scriptsrc атрибут.

Вы используете атрибут cssSrc для указать расположение файлов CSS требуется для функций ColdFusion AJAX. Этот атрибут переопределяет директория scriptsrc / ajax / resources для текущая страница. Поэтому, если все страницы, которые используют пользовательские скрипты каталог также использовать пользовательский cssSrc каталог, вы не должны включать CSS-файлы ColdFusion AJAX в Дерево каталогов scriptsrc.

Пример:

<cfajaximport cssSrc="/collegeApp/application/cssFiles" 
    scriptsrc="/collegeApp/ajaxScripts" 
    tags="cftooltip, cfwindow">

ссылка: Adobe ColdFusion 9 * cfajaximport

1 голос
/ 13 января 2010

Единственные файлы .js, которые должен включать CF, предназначены для таких вещей, как cfform или cf ajax, и они указывают на внутренние, специфичные для CF файлы .js. Я знаю, что базовый материал cfajax использует ExtJ, но я бы предположил, что это настроенная версия, поэтому указание на внешний хост, вероятно, в любом случае может привести к его поломке.

Я не уверен, на что вы ссылаетесь, когда упоминаете "популярные библиотеки". Можете ли вы уточнить это? Я сомневаюсь, что вы можете заменить любые внутренние библиотеки CF.js внешней публичной библиотекой, и ваш код CF все еще будет работать.

Генри указывает на использование тега cfajaximport, но, согласно документам, это только для локальных файлов .js:

"Указывает URL-адрес относительно корневого веб-каталога каталога, содержащего файлы сценариев на стороне клиента, используемые ColdFusion."

Хотя было бы интересно посмотреть, будет ли работать действительный URL.

...