Slide 1 - Share Notes

advertisement
JavaScript best practice in
SharePoint 2010
Alexander Krupsky
Senior SharePoint Developer
Содержание.
1.
2.
3.
4.
5.
6.
7.
Класс ScriptLink
Загрузка скриптов по требованию
OnDemand trick
Скрипты для веб частей
Переменная _spPageContextInfo
Использование jQuery
Выводы
2
Класс 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
OnDemand trick
Использование
Скрипты для веб частей
• Использование ClientId веб части при наименовании
функций
• Использование _spBodyOnLoadFunctionNames вместо
$(document).ready()
Переменная _spPageContextInfo
Использование jQuery
не использовать прямое обращение к $
Использование jQuery
Использовать Namespace
Выводы
•
•
•
•
•
•
•
•
•
При добавлении скрипта использовать элемент ScriptLink
Грузить скрипт по требованию, если это возможно
Грузить скрипт с текущего семейства сайтов
Использовать ClientId веб части при наименовании функций в вебчастях
Использовать _spBodyOnLoadFunctionNames
При обращении к CSOM или другим SharePoint объектам, всегда
убеждаться в загрузке нужных скриптов
При использовании jQuery не использовать прямое обращение к $
Использовать namespace при написании скриптов
Смотреть что может содержит _spPageContextInfo на странице
Download