JavaScript best practice in SharePoint 2010
JavaScript best practice in SharePoint 2010. Alexander Krupsky Senior SharePoint Developer. Содержание. Класс ScriptLink Загрузка скриптов по требованию OnDemand trick Скрипты для веб частей Переменная _ spPageContextInfo Использование jQuery Выводы. Класс ScriptLink.
JavaScript best practice in SharePoint 2010
E N D
Presentation Transcript
JavaScript best practice in SharePoint 2010 • Alexander Krupsky • Senior SharePoint Developer
Содержание. • Класс ScriptLink • Загрузка скриптов по требованию • OnDemand trick • Скрипты для веб частей • Переменная _spPageContextInfo • Использование jQuery • Выводы
Класс ScriptLink. Класс ScriptLink предназначен для регистрации скриптов на странице. Почему не тэг Script? • Есть возможность выбора асинхронного/синхронного способа загрузки скрипта • Исключает двойную регистрацию • Требует наличие файла скрипта по указанной ссылке • Поддержка локализации и момента загрузки
Класс ScriptLink. Основные свойства данного класса: • Localizable • OnDemand • Name • LoadAfterUI
Класс ScriptLink. Localizable. Если свойство равно true, то поиск скрипта осуществляется в соответствующих для текущего языка папках /_layouts/1033 – английский /_layouts/1049 – русский
Класс ScriptLink. OnDemand. Отвечает за способ загрузки скрипта. • False- загружает скрипт на страницу • True- регистрирует скрипт для отложенной загрузки
Класс ScriptLink. Name. Предназначено для указания имени файла скрипта, который должен быть загружен. Может содержать относительный путь к файлу. При этом могут использоваться префиксы • ~Site • ~SiteCollection
Класс ScriptLink. LoadAfterUI. Указывает в какой момент времени должен быть помещен скрипт на страницу. • False -скрипт помещается в head элемент • True - скрипт помещается в конец страницы. Свойство игнорируется при OnDemand = true
Загрузка скриптов по требованию • executeFunc • execute • LoadSODByKey
Загрузка скриптов по требованию Правило хорошего тона Нужно для
OnDemand trick Использование
Скрипты для веб частей • Использование ClientIdвеб части при наименовании функций • Использование _spBodyOnLoadFunctionNamesвместо $(document).ready()
Использование jQuery не использовать прямое обращение к $
Использование jQuery Использовать Namespace
Выводы • При добавлении скрипта использовать элемент ScriptLink • Грузить скрипт по требованию, если это возможно • Грузить скрипт с текущего семейства сайтов • Использовать ClientIdвеб части при наименовании функций в веб-частях • Использовать _spBodyOnLoadFunctionNames • При обращении к CSOM или другим SharePoint объектам, всегда убеждаться в загрузке нужных скриптов • При использовании jQueryне использовать прямое обращение к $ • Использовать namespace при написании скриптов • Смотреть что может содержит _spPageContextInfo на странице