Класс FilterPageContentConnector
используется для подключения технологических скриптов и стилей, которые необходимы для работы контролов и среды выполнения при помощи пост-обработки разметки страницы. Скрипты подключаются в конце тега <body>
, стили - в конец тега <head>
.
Является альтернативой методу подключения ресурсов через PlaceholderPageContentConnector.
Принцип работы
Перед отправкой сформированной HTML-разметки пользователю происходит пост-обработка страницы
- определяется позиция для вставки данных (конец тэга
<head>
для стилей и конце тэга<body>
для скриптов и других спец. компонентов; - в найденные позиции вставляется дополнительная HTML-разметка для подключения ресурсов;
- исправленные данные отправляются пользователю.
Note: Скрипты, стили и прочие файлы всегда дописываются в самый конец страницы, и у прикладного разработчика нет никакой возможности вставить еще какой-то код после них.
Warning: При таком способе подключения данных присутствуют потенциальные ошибки, связанные с алгоритмом поиска позиции для добавления разметки. Например, когда на странице по какой-то причине существуют два закрывающихся тэга
<head>
(например, внутри комментария), то позиция может быть определена неправильно.
Эти проблемы связаны с тем, что полный анализ HTML не проводится (в связи с сложностью и ресурсоёмкостью), ищется первая возможная позиция.
В большинстве случаев (особенно для новых проектов) стоит использовать PlaceholderPageContentConnector.Настройка
Для подключения ресурсов на основе фильтров нужно настроить unity (web.config):
<register type="NewPlatform.Flexberry.Web.Http.IPageContentConnector, NewPlatform.Flexberry.Web.Http"
mapTo="NewPlatform.Flexberry.Web.Http.FilterPageContentConnector, NewPlatform.Flexberry.Web.Http" />