Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) The art of technology JavaScript best practice in SharePoint 2010 Alexander Krupsky Senior SharePoint Developer
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Класс ScriptLink 2. Загрузка скриптов по требованию 3. OnDemand trick 4. Скрипты для веб частей 5. Переменная _spPageContextInfo 6. Использование jQuery 7. Выводы 2 Содержание.
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Класс ScriptLink предназначен для регистрации скриптов на странице. Почему не тэг Script? -Есть возможность выбора асинхронного/синхронного способа загрузки скрипта -Исключает двойную регистрацию -Требует наличие файла скрипта по указанной ссылке -Поддержка локализации и момента загрузки Класс ScriptLink.
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Основные свойства данного класса: -Localizable -OnDemand -Name -LoadAfterUI Класс ScriptLink.
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Если свойство равно true, то поиск скрипта осуществляется в соответствующих для текущего языка папках /_layouts/1033 – английский /_layouts/1049 – русский Класс ScriptLink. Localizable.
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Отвечает за способ загрузки скрипта. False - загружает скрипт на страницу Класс ScriptLink. OnDemand. True - регистрирует скрипт для отложенной загрузки
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Предназначено для указания имени файла скрипта, который должен быть загружен. Может содержать относительный путь к файлу. Класс ScriptLink. Name. При этом могут использоваться префиксы ~Site ~SiteCollection
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Указывает в какой момент времени должен быть помещен скрипт на страницу. False - скрипт помещается в head элемент True - скрипт помещается в конец страницы. Свойство игнорируется при OnDemand = true Класс ScriptLink. LoadAfterUI.
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) executeFunc Загрузка скриптов по требованию execute LoadSODByKey
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Правило хорошего тона Загрузка скриптов по требованию Нужно для
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) OnDemand trick
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Использование OnDemand trick
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Использование ClientId веб части при наименовании функций Скрипты для веб частей Использование _spBodyOnLoadFunctionNames вместо $(document).ready()
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Переменная _spPageContextInfo
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) не использовать прямое обращение к $ Использование jQuery
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) Использовать Namespace Использование jQuery
Artezio LLC Address: 3G Gubkina Str., suite 504, Moscow, Russia, Phone: +7 (495) Fax: +7 (495) При добавлении скрипта использовать элемент ScriptLink Грузить скрипт по требованию, если это возможно Грузить скрипт с текущего семейства сайтов Использовать ClientId веб части при наименовании функций в веб- частях Использовать _spBodyOnLoadFunctionNames При обращении к CSOM или другим SharePoint объектам, всегда убеждаться в загрузке нужных скриптов При использовании jQuery не использовать прямое обращение к $ Использовать namespace при написании скриптов Смотреть что может содержит _spPageContextInfo на странице Выводы