2013-11-22 2 views
0

Я новичок в SharePoint, и мне нравится выполнять некоторые пользовательские JavaScript в форме. В этом документе articel автор описывает подход, в котором он добавляет веб-страницу «Редактор сценария» в форму, на которой размещается JavaScript html &.SharePoint 2013: Выполнение JavaScript в форме

Этот подход кажется нечетным, потому что скрипт не выполнен как часть формы (см. Webpart содержит весь html, включая head, body ....).

Итак, мои вопросы: Как выполнить собственный JavaScript на форме? Каков наилучший подход к развертыванию?

ответ

1

Использование ContentEditorWebPart немного напоминает загрузку всей страницы в элемент DIV. Из-за этого вы можете легко получить доступ ко всем элементам «Родителя» с помощью селекторов document.getElementById.

Эта практика довольно распространена во всей отрасли, так как это единственный способ инъекции html/javascript без использования SharePoint Designer или размещения файлов в кусте SharePoint.

Обычно вы создаете файл html или js. Добавьте его в библиотеку документов с включенным управлением версиями, а затем ссылайтесь на эту страницу из ContentEditorWebPart

2

Если мы говорим о разработке на стороне сервера, вот мой любимый метод: JSLink and Display Templates. Используя этот подход, вы обладаете высокой степенью контроля, когда вы хотите загрузить свой код JavaScript.

Есть огромное количество объектов, которые можно прикрепить ссылки JSLink к , но те, которые мы действительно заинтересованы в:

  • Колонны Сайт
  • Типы контента
  • Список Просмотров
  • Список форм (например, Новые/Редактировать/Показать формы)
  • Просмотреть список Web Parts
  • Список Форма веб-частей

Что касается развертывания, это зависит от объема вы хотели бы применить:

Когда вы строите свой URL JSLink есть ряд маркеры вы можете воспользоваться:

  • ~ сайт - ссылки на текущем сайте SharePoint (или «Web»)
  • ~ sitecollection - ссылка на коллекции текущего сайта SharePoint (или «Сайт»)
  • ~ макеты - версия конкретная ссылка на папку Layouts веб-приложений (поэтому он автоматически заменит/_layouts/14 или/_layouts/15 для вас)
  • ~ sitecollectionlayouts - ссылка на папку макетов в текущем семействе сайтов (например,/ Сайты/команда/_layouts/15)
  • ~ sitelayouts - ссылка на папку макетов на текущем сайте (например,/сайты/команды/подсайт/_layouts/15)

В принципе, я Рекомендуем вам пройти через все части вышеупомянутого учебника, чтобы понять силу JSLink.

Смежные вопросы