Рубрика: jQuery
Как использовать jQuery селектор ID с точками
Столкнулся с задачей, где пришлось даже гуглить, что бы решить. В SharePoint 2013 часто используются id’шники у тегов с точками, пример - id="Ribbon.Table.Design.Style.TableStyles-Large". И тут возникает вопрос – как выбрать этот элемент в коде jQuery? Вариант — $(«a#Ribbon.Table.Design.Style.TableStyles-Large») не подойдет, т.к. id будет считаться только Ribbon, все остальное будет селектором классов.
Решение:
Обратимся к документации jQuery:
To use any of the meta-characters ( such as ! «#$%&'()*+,./:;<=>?@[\]^`{|}~ ) as a literal part of a name, it must be escaped with with two backslashes: \\. For example, an element with id=»foo.bar", can use the selector $(«#foo\\.bar»).
Из документации следует, что надо экранировать точки в ID двойным обратным слешем \\, т.е. получится так:
$("a#Ribbon\\.Table\\.Design\\.Style\\.TableStyles-Large")
Еще один вариант:
$("a[id=’Ribbon.Table.Design.Style.TableStyles-Large’]")
Как отключить контекстное меню на видео и картинках в SharePoint
Возникла задача ограничить от скачивания видеофайл, который размещен через веб-часть Мультимедия на портале SharePoint 2013. Хочу сразу уточнить, что необходимо ограничить только от рядовых пользователей, т.к. есть кеш браузера, откуда продвинутый юзер сможет файл достать.
В самой веб-части Мультимедия нет кнопки Скачать, а вот в контекстном меню браузера Google Chrome есть замечательный пункт Сохранить видео как… Тут даже домохозяйка сможет файл скачать себе на компьютер. Так что надо убрать этот пункт из контекстного меню, либо его отключить. Но отключить только на видеофайле, а не на всем портале полностью.
Отключить контекстное меню в браузере на видеофайле можно с помощью jQuery, как подключить библиотеку jQuery к SharePoint 2013 я уже рассказывал.
На странице, где уже вставлена веб-часть Мультимедиа, вставляем веб-часть Среда и контент –> Редактор сценариев и копируем следующий код:
<script> $(function() { /* запрет контекстного меню на всех элементах img на странице $('img').bind('contextmenu', function(e) { return false; });*/ $('video').bind('contextmenu', function(e) { return false; }); }); </script>
Сохраняем страницу и проверяем результат. Контекстное меню на видео больше не работает.
Если необходимо отключить контекстное меню и на картинках на странице, то в коде надо расскомментировать часть:
$('img').bind('contextmenu', function(e) { return false; });
Как подключить jQuery и SPServices в SharePoint 2013
Подключить библиотеки jQuery и SPServices в SharePoint 2013 можно несколькими способами, но предпочтительно сделать это через мастер страницу, чтобы они были доступны везде.
Скачать последние версии библиотек можно здесь — http://jquery.com/ и https://spservices.codeplex.com/.
Копируем библиотеки в каталог C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS на сервере SharePoint.