Блог did5.ru

Про АйТи и около айтишные темы

Рубрика: JavaScript

Как использовать 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’]")

Автор: did5

02 Сен 2015 в 12:04

Рубрика: HTML/CSS,JavaScript,jQuery

Метки: , , ,

Как отключить контекстное меню на видео и картинках в SharePoint

Комментариев нет

Возникла задача ограничить от скачивания видеофайл, который размещен через веб-часть Мультимедия на портале SharePoint 2013. Хочу сразу уточнить, что необходимо ограничить только от рядовых пользователей, т.к. есть кеш браузера, откуда продвинутый юзер сможет файл достать.

В самой веб-части Мультимедия нет кнопки Скачать, а вот в контекстном меню браузера Google Chrome есть замечательный пункт Сохранить видео как… Тут даже домохозяйка сможет файл скачать себе на компьютер. Так что надо убрать этот пункт из контекстного меню, либо его отключить. Но отключить только на видеофайле, а не на всем портале полностью.

disable video save button chrome thumb Как отключить контекстное меню на видео и картинках в SharePoint

Отключить контекстное меню в браузере на видеофайле можно с помощью jQuery, как подключить библиотеку jQuery к SharePoint 2013 я уже рассказывал.

На странице, где уже вставлена веб-часть Мультимедиа, вставляем веб-часть Среда и контент –> Редактор сценариев и копируем следующий код:

<script>
$(function()
{
    /* запрет контекстного меню на всех элементах img на странице
    $('img').bind('contextmenu', function(e) {
        return false;
    });*/
    $('video').bind('contextmenu', function(e) {
        return false;
    });
});
</script>

disable video save button chrome 2 thumb Как отключить контекстное меню на видео и картинках в SharePoint

Сохраняем страницу и проверяем результат. Контекстное меню на видео больше не работает.

Если необходимо отключить контекстное меню и на картинках на странице, то в коде надо расскомментировать часть:

$('img').bind('contextmenu', function(e) {
        return false;
    });

Автор: did5

31 Авг 2015 в 16:50

Рубрика: jQuery,Sharepoint

Метки:

Как подключить 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.

jquery sharepoint 1 thumb Как подключить jQuery и SPServices в SharePoint 2013

Читать полностью »

Автор: did5

17 Апр 2015 в 12:30

Рубрика: jQuery,Sharepoint

Метки: , ,

Проверка существования веб-страницы на Node.js

Комментариев нет

Появилась задача проверить существование веб-страниц на сайте. Адреса страниц имеют следующий вид — http://www.mysite.ru/pages/1, где последний параметр адреса это порядковый номер страницы – от 1 до 999. Для решения задачи решил использовать Node.js:


var http = require('http');
var url = require('url');

function getPageStatus(pageurl) {
var options = {
host: url.parse(pageurl).host,
port: 80,
path: url.parse(pageurl).pathname
};
http.get(options, function(res) {
if(res.statusCode === 200){
console.log(options.path+' - страница есть!');
}else{
console.log(options.path+' - страницы нет!');
}
});
};

var pathUser = 'http://www.mysite.ru/pages/';
for(var i=0;i&lt;1000;i++){
getPageStatus(pathUser+i);
};

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

Автор: did5

16 Апр 2015 в 10:26

Рубрика: JavaScript,Node.js

Метки: , ,