Разверните jQuery с помощью функции SharePoint или физических файлов?
Мы собираемся провести довольно большую настройку SharePoint, и я хотел получить некоторую обратную связь до того, как перепрыгнут с обеих ног. Одной из проблем, с которой мы столкнулись шины, является то, что мы разворачиваем javascript-библиотеку jQuery непосредственно на 12 улей (делая ее доступной в _layouts для каждого сайта и т.д.), Или мы завершаем ее в функцию и активируем эту функцию для каждого сайт? Я также видел два проекта в CodePlex, которые завершают его в функциях, и это может быть третий вариант, я думаю.
Мысли?
Ответы
Ответ 1
и комментарий к www.sharepointblogs.com
следуйте по ссылке выше или google.
Резюме состоит в том, что изменение 12 улей напрямую легко, но не поддерживается (т.е. Microsoft оставляет за собой право уничтожать вашу среду по своему усмотрению)
Рекомендуемая опция по ссылке выше:
Используйте элемент управления делегатом AdditionalPageHead (мой любимый!)
Предоставляя содержимое для элемента управления делегатом AdditionalPageHead, который используется всеми главными страницами, содержащимися в готовом виде, вы можете убедиться, что библиотека jQuery загружена всеми страницами SharePoint. Элемент управления делегатом AdditionalPageHead позволяет нескольким элементам управления предоставлять содержимое, поэтому это отличный сценарий расширяемости. Для этого вам нужно создать веб-пользовательский элемент управления (файл ASCX), содержащий тег script для загрузки библиотеки jQuery:
<%@ Control Language="VB" ClassName="jQueryControl" %>
Ответ 2
Вы также можете использовать API AJAX Libraries. Добавив некоторые script на главную страницу SharePoint (например), любая версия jQuery, которую вы предпочитаете, может быть загружена из Google без необходимости разворачивать файл .js.
Существует также множество возможных улучшений скорости:
- Файл jQuery.js Google уже может быть кэширован в браузере пользователей (благодаря другим сайтам, использующим этот объект).
- браузеры обычно допускают определенное количество подключений к одному и тому же серверу, поэтому это позволяет открывать параллельное соединение параллельно
- файл загружается из ближайшего географического местоположения пользователей (я думаю)
Это все более популярное решение, о котором я ничего не слышал, кроме хороших вещей. Проверьте это: http://code.google.com/apis/ajaxlibs/.
Ответ 3
Я бы сказал, это зависит от вашего сценария. Если вы хотите, чтобы библиотека jQuery была доступна только для одного сайта, использование функций - путь. Если вы хотите сделать его доступным в глобальном масштабе, тем не менее, развертывание его до 12 - это путь.
Ответ 4
Мы разворачиваем его до 12 улей как часть нашего бесплатного инструмента SharePoint Infuser, который вы можете захотеть развернуть JavaScript (вкл. JQuery) на несколько страниц за один раз без каких-либо беспорядочных изменений в masterpages, core.js и т.д..
Внутри он использует подход управления делегатами, предложенный Ric выше, это просто более общее решение и может использоваться для всех целей.
Подробнее см. http://www.muhimbi.com/blog/2009/07/massage-sharepoint-into-submission.html. Для очень мощного примера того, что это делает возможным, см. http://www.muhimbi.com/blog/2009/07/automatically-add-search-as-you-type-to.html
Ответ 5
Я не мог получить код с сайта www.sharepointblogs.com для работы. Мне повезло с этой ссылкой http://blogs.msdn.com/b/kaevans/archive/2011/04/06/adding-jquery-to-every-page-in-sharepoint-with-delegate-controls.aspx