Итак начнем с простого пользовательского скрипта, но имеющего новое и отличное от всех до этого разных Рюшечек. А именно - я применяю новые команды-функции и возможности и делаю на до боли известной конструкции - это установка блока "Поделится" на любую страницу в инете.
Используется конструкция от Яндекса - «Поделиться», но не совсем обычным для этого применения способом.
Сначала расширением Scriptish - мы втянем сам скрипт в наш браузер, и тем самым в будущем мы будем его грузить не из инета, а из компьютера, а потом пунктом в меню синтезируется строчка с иконками для доступа к инструментам социальных сетей.
Блок мета-даных имеет вид
// ==UserScript== // @id all@alex.zest // @name all-blog // @version 1.0 // @namespace http://cargan.cervera.ru/yaru // @author Alex Zest // @description Общие функции и меню // @include * // @require http://yandex.st/share/share.js // @resource ic http://yandex.st/share/static/b-share-icon.png // @run-at document-end // ==/UserScript==
Основные ключи понятны, и только некоторые ключи нуждаются в пояснении:
- ключ
@include *говорит расширению, что данный скрипт используется везде,
- а фраза
@require http://yandex.st/share/share.jsуказывает расширению о загрузке извне необходимого для работы скрипта.
- *1 для ускорения загрузки и исполнении скрипта введено допонительное улучшение, а именно
// @resource ic http://yandex.st/share/static/b-share-icon.png- теперь фооновое изображение всех значков так же загружено во внутренне хранилище Scriptish
И далее непосредственно с помощью функции регистратора загружаем нам необходимый контент в пункт меню.
GM_registerMenuCommand("Поделиться",
function(){
var s = document.createElement('script');
s.type='text/javascript';
s.src='//yandex.st/share/share.js';
document.body.appendChild(s);
s = document.createElement('mark');
s.setAttribute('id','sh');
s.className = 'yashare-auto-init';
s.setAttribute('data-yashareType','none');
s.setAttribute('data-yashareQuickServices',
'yaru,lj,facebook,twitter,'+
'gplus,blogger,yazakladki');
document.body.appendChild(s);
});
В отличии от варианта предложенный Яндексом, я не использую кнопку 'поделится', и вместо div использую тег mark, причем вся конструкция жестко фиксируется в нижнем правом углу окна и не зависимо от скрола видна постоянно и все стили данного сктиптиша размещены в специальном стиле, который вставляется через расширение Stylish
#sh {
position:fixed;
right:5px; bottom:5px;
padding:2px;
z-index:10000 }Так же дополнительно был вставлен пункт меню - "Новый UIID", чтобы если потребуется оперативно - всегда был под рукой.
GM_registerMenuCommand(
"Новый UIID", function(){
alert(GM_generateUUID()) ;
}) ;*1 - улучшения сделаные позже