Пишем Кроссбраузерный Userjs. Пример 3. Миниатюры Twitpic



Пишем кроссбраузерный UserJS. Пример 3. Миниатюры TwitPic

twitpic-thumbnails.user.js На страницу в Твиттере добавлены превью картинок с twitpic. Работает как минимум в Opera, Firefox Greasemonkey, Google Chrome и Safari GreaseKit.

 // ==UserScript==
 // @name      Twitpic thumbnails
 // @include    http://x.com/* 
 // ==/UserScript==
 
 
 (function(){
 
   if (typeof GM_addStyle == 'undefined') {
     /**
      * Example: GM_addStyle('* {color:red}')
      * @param {String} css
      */
     function GM_addStyle(css) {
       var head = document.getElementsByTagName('head')[0];
       if (head) {
         var style = document.createElement("style");
         style.type = "text/css";
         style.appendChild(document.createTextNode(css));
         head.appendChild(style);
       }
     }
   }
 
   GM_addStyle('.

entry-content img { display:block ; margin:.

5em 0;}'); var links = document.links; for (var i=0; i<links.length; i++) { if (links[i].

href.indexOf(' http://twitpic.com/ ') == 0 && links[i].

className.indexOf('tweet-url') > -1) { var id = links[i].

href.split(" http://twitpic.com/ ")[1]; links[i].

innerHTML = '<img src=" http://twitpic.com/show/thumb/ ' + id +'"/>'; } } })();

GM_addStyle добавляет CSS на страницу.

Эта функция работает только в Грисиманках, как и все остальные.

функции с префиксом

 if (typeof GM_addStyle == 'undefined') {
.

Для других браузеров вам необходимо определить его:

   /**
    * Example: GM_addStyle('* {color:red}')
    * @param {String} css
    */
 
   function GM_addStyle(css) {
     var head = document.getElementsByTagName('head')[0];
     if (head) {
       var style = document.createElement("style");
       style.type = "text/css";
       style.appendChild(document.createTextNode(css));
       head.appendChild(style);
     }
   }
 }
 for (var i=0; i<links.length; i++) {
   if (links[i].

href.indexOf(' http://twitpic.com/ ') == 0 && links[i].

className.indexOf('tweet-url') > -1) { var id = links[i].

href.split(" http://twitpic.com/ ")[1]; links[i].

innerHTML = '<img src=" http://twitpic.com/show/thumb/ ' + id +'"/>'; } }

Ссылки на картинки выглядят так: http://twitpic.com/neliw .

Я проверяю, начинаются ли ссылки с ' http://twitpic.com/ ' и есть ли у класса 'tweet-url' (если эту проверку не сделать, то мы тоже будем перехватывать ссылки "из ТвитПик ").

Затем я заменяю текст ссылки изображением предварительного просмотра.

TwitPic имеет API для этого.



GM_

Я даю тебе удочку, а не рыбу.

Вместо TwitPic возможно Grab.by , и вместо твитов - комментарии к Лента друзей .

Рыбачьте сами.

Теги: #Greasemonkey #userjs #greasekit #greasekit #Firefox #opera #Safari #Google Chrome #Twitter #TwitPic #Greasemonkey

Вместе с данным постом часто просматривают: