UserScript(s) для Либрусека

UserScript (пользовательский скрипт) - это хранящийся локально файл с кодом на языке JavaScript, который исполняется в браузере в контексте текущей страницы.



Скрипт для Imhonet.Ru, by soshial. Версия 0.6 (2008.12.02)

Что делает этот скрипт:

Этот скрипт добавляет в разделе книг, наряду со ссылками на платные библиотеки, ссылку на Либрусек. Очень удобно! Ссылка сразу перекидывает на Либрусек, с запросом на поиск книги ;)

Начиная с версии 0.5, скрипт также добавляет в разделах фильмов, сериалов, музыки, и игр похожую ссылку на Torrents.Ru (поиск по форуму).

Скачать скрипт с userscripts.org: http://userscripts.org/scripts/show/26403



LibRusEc Ext #1. Версия 1.11 (2008.06.28)

Что делает этот скрипт:

Предоставляет возможность сворачивать секции боковой(-ых) панели(й)1, нажав кнопочку [-] в верхнем углу заголовка, или двойным щелчком на заголовке2.

Предоставляет возможность сворачивать разделы "книжной полки".

Запоминает позицию чтения в онлайн-читалке (для нескольких десятков книг). Если повторно открыть книгу - вверху страницы появляется ссылка "ЗАКЛАДКА".

Запоминает, и выделяет на текущей странице раздела "Последние поступления" название последней3 виденной при прошлом посещении этого4 раздела книги.

Помещает в псевдо-фрейм, имеющий полосу прокрутки, слишком длинные описания авторов, а также добавляет заголовок с кнопкой, которой можно совсем убрать эти описания.

Предоставляет возможность5 переходить к следующему (сверху вниз) новому комментарию, щелкнув по надписи "Новый" в его заголовке6.

[img:1 float=left title=none]Прячет боковые панели в онлайн-читалке (настраиваемо).

Увеличивает поле ввода текста сообщения в личке (той, что на боковой панели).

Предоставляет возможность листать страницы пользуясь комбинациями клавиш Ctrl + Left/Right Arrow7.

Добавляет отсутствующие заголовки секций в боковые панели, и слегка правит их стили.

Добавляет в заголовок соответствующей секции панели ссылку на страничку последних комментариев, а также ссылку "(новые на странице)"8.

Делает полупрозрачной "плавающую" панельку9 в разделе последних комментариев.

Может подсвечивать ники определенных юзеров в списке "Сейчас на сайте".

Автоматически подставляет название книги в поле "Название" на странице редактирования инфы книги.

Автоматически исправляет ftp-адрес (абсолютный путь на относительный) на страницах загрузки.

Добавляет поддержку Ctrl+Enter10 в личке.

Предоставляет возможность ограничивать по высоте11 аннотации на странице "Последние поступления". Слишком длинные аннотации будут помещены в псевдо-фрейм, имеющий полосу прокрутки12.

Может подсвечивать книги определенных жанров11 на странице "Последние поступления".

Предоставляет возможность убрать названия жанров11 на странице "Последние поступления".

Добавляет "Рюкзачок"11. Это, ну... в общем, фича такая :) Для более-менее массовой выкачки книг (до 400 штук). Сделано в связи с вводом ограничений на выкачку нескольких книг одним архивом.
Книги в "рюкзачок" можно добавлять, просто кликнув по ссылке "скачать" (это включается чекбоксом "Перехватывать закачки")13, или проставив галочки в чекбоксах напротив нужных книг, и нажав "добавить все выбранное", или вводя url/id вручную...
Затем можно получить список файлов для качалки, или запросить их у сервера одним архивом.

Настройки, закладки, и ссылки на книги сохраняются локально, в cookie (куки).

1   Если получено новое сообщение, свернутая секция "Личка" после обновления страницы разворачивается автоматически.
2   Если при этом удерживать нажатой кнопку Shift - можно свернуть или развернуть все секции одновременно.
3   Если в списке на странице нет ни одной новой книги - будет выделена верхняя.
4   Фильтры поддерживаются.
5   Не работает с темами "chameleon" и "marvin".
6   Если не получается - значит на странице всего один новый комментарий.
7   В Opera это работает своеобразно...
8   Быстрый переход к первому или последнему новому комментарию на странице.
9   В IE это не работает.
10 Отправляет сообщение.
11 Дополнительная секция боковой панели (см. картинку).
12 В старых браузерах это работать не будет.
13 Ctrl+клик - чтобы скачать книгу.

Скачать скрипт с userscripts.org: http://userscripts.org/scripts/show/26371
Скачать скрипт с файлообменника: http://www.zshare.net/download/143149978e522259/

Скрипт интегрирован в сайт. Вы его уже скачали :)



LibRusEc Ext #2. Версия 1.06 (2008.06.20)

Что делает этот скрипт:

Добавляет в формы поиска, редактирования (инфы), и добавления книг1, к полю ввода id жанра, кнопку "выбрать" - при нажатии на которую появляется окошко с удобным меню жанров:
[img:2 align=center title=none]Удерживая кнопку Ctrl, можно выбрать сразу несколько поджанров2.
Окошко можно передвигать. Его высота зависит от высоты окна браузера.
Выбор сохраняется локально, в cookie (куки).

1 Начиная с версии 1.06, еще и в формы "Выкачка всего" и "Вид списка" (для LibRusEc Ext #1).
2 К сожалению, в форме редактирования такого функционала нет...

Скачать скрипт с userscripts.org: http://userscripts.org/scripts/show/27368
Скачать скрипт с файлообменника: http://www.zshare.net/download/13928610d96ea0e5/

Скрипт интегрирован в сайт. Вы его уже скачали :)



Установка пользовательских скриптов:

Opera: Положить скрипт в директорию которая указана в Preferences -> Advanced -> Content -> JavaScript options -> User JavaScript files (Настройки -> Дополнительно -> Содержимое -> Параметры JavaScript -> Файлы пользователя JavaScript).
FireFox: Установить (включить) плагин GreaseMonkey. Нажать кнопку "Install this script" (на userscripts.org), или перетащить файл на окно браузера.
MSIE: Установить Trixie1 (GreasemonkIE, Turnabout, ...). Читать справку.
Safari: Установить плагин CreamMonkey1 (PithHelmet, ...). Читать справку.
1 Не тестировал. По идее - должно работать.

Также можно использовать Privoxy, или аналогичный софт. Решение универсальное, но не для "чайников"...

Комментарии

Круто, вроде работает. Firefox.
Спасибо!

Класс! Мне понравилось как мой FOX работать стал.

Заценил. Спасибо.
А *monkey не нужны. Достаточно Privoxy. Способ универсальный, для всех браузеров.
Я, кстати, с его помощью и блядское автосохранение отзывов отключил, и кнопочку "Добавить отзыв" себе сделал.

Одно не понял: какие такие "страницы" скрипт листает?

Цитата:
Одно не понял: какие такие "страницы" скрипт листает?
"Горячие клавиши" для кнопок [1] [2] [3] ... [999] внизу страницы.

PS. Спасибо NjamNjam за отзыв о книге, с незакрытыми тегами, сносящий нафиг в FF форматирование панелей... :) Пытаюсь вылечить...

UPD: Вылечил. Обновил.

залил на userscripts?
только этого и жду, а то скачивать ну очень влом со всяких шар(
спасибо кстати за хороший вещь)))

Нормальная шара. Регистрироваться не надо, капчи нет...
А рекламы и на userscripts хватает...

UPD: Сделал. Ты счастлив? :)

спасибо огромное!!!!!
=)
ps. счастлив)

Opera 9.5 beta Portable, сборка 9613, http://tiaurus.ru/archives/284

Цитата:
Помещает в псевдо-фрейм, имеющий полосу прокрутки, слишком длинные описания авторов
Нет, ничего такого не увидел. Остальное в основном работает, правда, проверить все пока, конечно, не смог, посмотрю с течением времени. А вообще-то круто! :) +1!

Цитата:
Нет, ничего такого не увидел.

Адрес странички автора?..

То, что указано в качестве примера ;). Еще замечание - пометка последнего просмотренного в Последних поступлениях - не бледновато ли? Чуть бы поярче.

hagen говорит - у него работает. У меня в Opera 9.27 Build 8841 и 9.50b Build 9945 тоже работает. Странно это... Возможно url страницы какой-то неправильный (через анонимайзер пропущенный, например), и скрипт на него не реагирует?

PS. Пометки потом перекрашу.

Нет, никаких прокси и т.п. Да и в остальном скрипт работает. Сам удивляюсь. Значит, сборка какая-то не такая, хоть работаю с ней больше полугода, если бы что не так - давно бы выбросил. Но на Пратчете описания на 3 экрана, как и было, никакой прокрутки нет :(. Ну, в конце концов, это не важно. Но если интересно - можешь скачать именно мою сборку и попробовать - я привел ссылку. Портативная, так что попробовать легко. Я тоже ропробую отыскать начальный дистрибутив, и проверить скрипт на нем - может, у меня мусора много, или настройки не те?
PS. Попробовал начальную сборку, не измененную - то же самое, прокрутки нет. Так что, видимо, сама сборка такая. Кстати, Java у меня от Сан Микросистемс, не MS. Может, тут что-то?

Java точно не виновата. Она не используется...

Цитата:
можешь скачать именно мою сборку и попробовать

Ох и не люблю я с левых сайтов и-нет софт качать... :(

у меня в этой же версии все работает нормально

файл не найден. Пишет про восстание серверов )) Может куда-нить еще выложить?

сорри, наверное попал на моменты перевыкладывания. Уже качаю )))

Скрипт неплохой, спасибо) Опера 9.5 все нормально.
А вот обменник незачет

Цитата:
Скачать скрипт с userscripts.org: ...

agrey написал:

Добавляет1 возможность переходить к следующему (сверху вниз) новому комментарию, щелкнув2 по надписи "Новый" в его заголовке.
1Не работает с темами "chameleon" и "marvin".
2Если не получается - значит новый комментарий всего один.


можно в данной функции, для темы bluemarine (для других не смотрел), если у пользователя есть аватарка то поменять местами аватарку и ссылку с переходом "новый", чтобы она всегда была после аватарки на правом краю фрейма
потому что сейчас она прыгает в разных коментах с разными размерами аватарок и без них...
+ для форума может тоже перенести ссылку "новый" на правый край фрейма.
просто в теме blumarine на всех страницах выравнивание фреймов комментов и на форуме идет по правому краю, и соответственно если посадить ссылку новый на этот край после всех элементов то будет довольно удобно переключатся даже не передвигая мышку... :)

правда незнаю как это все будет смотреться в других темах... :)

А ведь можно прямо здесь прикреплять файлы.

насчет скрипта для имхонета:

// ==UserScript==
// @name           lib.rus.ec link on imhonet.ru
// @description   Simply adds a librusec library link to the imhonet.ru site
// @namespace      http://userscripts.org/users/52226
//
@include        http://books.imhonet.ru/element/*/all/direct/
//
@version       0.1
// ==/UserScript==

(function () {
link = document.createElement("div");
link.innerHTML = '<h2><a href="lib.rus.ec/booksearch?ask='+document.name+'" style="">искать на lib.rus.ec</a></h2>';
/*link.style.textAlign = "center";
link.style.height = "18px";
link.style.marginBottom = "4px";
link.style.marginTop = "-5px";*/
document.getElementById("TabPanel").appendChild(link);
})();

должно встраивать к остальным ссылкам на библиотеки на страницах, подобных http://books.imhonet.ru/element/170194/all/direct/
что делаю не так?((

Попробуй заменить это: +document.name+
На: +document.title.split(' ')[0]+

agrey написал:
Запоминает, и выделяет на текущей странице раздела "Последние поступления" название последней виденной при прошлом посещении этого раздела книги.

У меня всё работает, кроме этого пункта.
В каком виде скрипт должен выделять последнюю виденную книгу? Может, я просто не замечаю?

Примерно так:

ground0 написал:
Примерно так:

Спасибо. Чтобы увидеть, мне пришлось перейти на другой компьютер. На моём ноутбуке всё так светло изображается, что нежно-розовую полоску не разглядеть. :-(((

Исправлю :)

agrey написал:
Исправлю :)

Если это ответ мне, то я ужасно тронута.
И буду безмерно рада. :-)))

Хи... "TabPanel" это class, а не id...
Переделал вот:

function InsertLibRusEcSearch(ft)
{
    var lnk = document.createElement("div"), panel = null;

    if(lnk == null || document.title == null || document.title.split(' ')[0] == null
        || document.title.split(' ')[0].length == 0) return;

    lnk.innerHTML = '<h2 style="text-align:center; width:100%;">'
    + '<a href="http://lib.rus.ec/booksearch?ask='
    + encodeURIComponent(document.title.split(' ')[0])
    + '">Искать книгу на Lib.Rus.Ec</a></h2>';

    var a = document.body.getElementsByTagName('table');

    for(var i = 0; i < a.length; i++)
    {
        if(a[i].className && a[i].className.toLowerCase() == 'tabnav')
        {
            var b = a[i].getElementsByTagName('td');

            for(var j = 0; j < b.length; j++)
            {
                if(b[j].className && b[j].className.toLowerCase() == 'tabpanel')
                {
                    panel = b[j];
                    break;
                }
            }
        }

        if(panel) break;
    }

    if(panel == null) return;

    if(ft) panel.insertBefore(lnk, panel.firstChild);
    else panel.appendChild(lnk);
}

вау!! вот это да)) спасибо огромное!))
только вот с кодировками че то не то: "Искать книгу на Lib.Rus.Ec" неправильно отображается(((

Замени на: "&#1048;&#1089;&#1082;&#1072;&#1090;&#1100; &#1082;&#1085;&#1080;&#1075;&#1091; &#1085;&#1072; Lib.Rus.Ec"

мне б еще хотелось бы преобразовать как то иконку либрусековскую в base64, вот это было бы совсем круто)

:) Лови:

    lnk.innerHTML = '<h2 style="text-align:center; width:100%;"><img src="data:image/png;base64,'
    + 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEUBAACenaWqqrKrq7MSEA4t'
    + 'KSi9vsB4dHJaLRxAPjvT1dtHMzBpZW34+fvEx8q6vsIiGxv19vfk5uhJQD+Dh5T18/M5NDJVV2E/'
    + 'Oj+ZlZxYFgwwCQWrp62Ih4xmWlqwrbRwbHRAEwlEEQcZDwmEKBJoYGLLZDa6RSFJQT+nlZA/KCMh'
    + 'EQuwn5x/enuZj4+rnZssJB9JRkpoZWcwEAi1QRx3JRM0Cwh/fYOxtbwtHRttXV6NjpB3b3BpXlxN'
    + 'OzOtqrOtrLSqqbGtrLOkpK2qqbCurbSEhIx2eIFwamucmaCpp7Cpp66ioKeRj5adm6KamaCfnaWY'
    + 'l55nZ218fIKQjpWGh491d4B0c3eUk5ucnKScmqGbmaCPio6oqbOZmqeWlqKgoayam6iio7Cnp7BO'
    + 'GAxkOyPIxMGVkZenpK2wrbOnpKqjpbGvrrWvrbSqqK+rqrOioKavrbWxsLZ6dHWTj5OloqhYUE6o'
    + 'pq2fnKOIho3y8/VJSUmpqalSUlKUQCuioqIFAgI3MzE1NTVyMxUpEwtmZWWHQR8KDQ6iXS+VTyd+'
    + 'U0YUDQeaXTU1Fg6xsbDGxsYnHx3ZgktjKBA4GQwoFAyNORvWfUnIcUCyUyqYVjgWEA41HhJ2RTGD'
    + 'g4NmZ2cNDw+4USRcGw94JxJhYWgxHReyRiNiKBkoIh+BgYEXFxcODg9aWlrX19dvJRX6+vobFxW4'
    + 'uLcpKCh1HxB9OhrJd0LJd0XBZDzag0jLazObNhbbf0qWmZ+4usDdhUySPBs2Ggs4IBU/Jh1cGAph'
    + 'Iw9GEwdNFQmCKQ5bIRE0Dwa6SSHk5unXfEXXeEMxEAaPgYCWhYBuW1V9a2UzGw5QMh1WPi7hjFLi'
    + 'j1PmmlxFMCtEHRRZHhGSPirfkE98LBNFGAo7GxCmTSfYhkq+YzOaNhffi1DfjE/YhUbdhk1POzV3'
    + 'ZF4iDw7FbDdfFQdIJBM5IhVSGAmlQByoSyWMOhv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
    + 'AAAAAAAAAAAAAAC4EchDAAAAAXRSTlMAQObYZgAAAJxJREFUeNpjXPSfmfn//9+//4PpZAbGTf/9'
    + 'GTYgxIIY1/4Paa1ugStrZaxjrm/4L/ofJlLK2AViBcIF/jPeADIQCv4zM776//8mEp+ZcQ+KPPN/'
    + 'xlMbNqIKqKIq+M+o8AbC+PH/P+s/RuH/jJLI0kDrGdOB9HcIl4sLZG0lmD+d4T9DLlDszRtGd7Ak'
    + 'VM0+Hy7GxZvBzBX+G/3ADACDWaWUyGu9CAAAAABJRU5ErkJggg==" width="16px" '
    + 'height="16px" onload="this.style.visibility=\'visible\'"'
    + 'style="vertical-align:-15%; visibility:hidden">&nbsp;'
    + '<a href="http://lib.rus.ec/booksearch?ask=' + encodeURIComponent(document.title.split(' - ')[0])
    + '">Искать книгу на Lib.Rus.Ec</a></h2>';

а как это делать? с пом. чего?)
чтоб на будущее ;)

UUEencode и т.п. Или подручными средствами:
1. Создать htm с img, и открыть в IE или Opera.
2. Сохранить его как "web archive".
3. Вытащить из mht код... :)

все отлично заработало!!
просто файл был не utf'ный )) я просто ламо))
спасибо тебе огромное, agrey!!
терь стало яснее, как их, скрипты эти, делать;)

вот ссылка кстати: http://userscripts.org/scripts/show/26403
и имхонетовская: http://forum.imhonet.ru/?event=view_posts&topic_id=6131
только вот боюсь скоро прикроют там мою скриптовую лавочку)))

Цитата:
.split(' - ')

Вай! Не проснулся я ещё... %)
Цитата:
только вот боюсь скоро прикроют там мою скриптовую лавочку)))

Да уж :D

agrey написал:
Цитата:
.split(' - ')

Вай! Не проснулся я ещё... %)

а я вот сам разобрался и именно так и вставил ;))

Простите, что влезаю в разговор, но как скачать книгу? Тут формат FB2, а у меня такого нет и я даже не чайник, я хуже(((. Помогите кто может!

Рядом со ссылкой "(скачать)" есть выпадающий список. Можно выбрать txt или html.

rikfona написал:
Тут формат FB2, а у меня такого нет

Я Вам рекомендую познакомиться с чтением в этом формате. Это легко - ищете Гуглом программку для чтения (волшебные гуглослова "fb2 reader"), устанавливаете её себе на компьютер (они все маленькие и легкие) - и с удовольствием читаете.

(вспомнив) Ах да. А чтобы начать свой собственный разговор, не влезая в другой, можно кликнуть на "Создать материал" -> "Запись в блоге" и там писать.

Скачайте программу AlReader 2.5 с сайта
http://alreader.com/forum/viewtopic.php?t=393
на мой взгляд эта лучшая программа для чтения

Спасибо ответившим - сорри, что еще раз влезаю (больше не буду).

еще обычно по правилам хорошего тона отвечают в той ветке, в которой шел начатый вами разговор

можно попросить сделать так, чтобы по ссылке "книжная полка" можно было менять местами 2 блока: с отзывами ис оценками? =)
спасибо.

В смысле:

"Отложенные книги и комментарии к ним"
"Прочитанные книги"
~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Прочитанные книги"
"Отложенные книги и комментарии к ним"

да, мне просто удобней, когда сверху - "Прочитанные книги" )

Выложил новую версию скрипта. Ссылки вверху.

+ Появилась возможность сворачивать разделы "книжной полки".
+ Увеличено поле ввода текста сообщения в "личке" (на боковой панели). Напоминаю: Если получено новое сообщение, свернутая секция "Личка" после обновления страницы разворачивается автоматически.
~ Более заметной стала закладка в разделе "Последние поступления".
+ Улучшено сохранение настроек боковых панелей.
+ На форуме, ярлычёк "новое" сдвинут к правому краю заголовка сообщения.
- Устранены несколько мелких багов...

agrey написал:

~ Более заметной стала закладка в разделе "Последние поступления".

Спасибо. Теперь даже на моём ноутбуке видно. ;-)))

И все остальные улучшения - класс!

Пожалуйста :) У меня на мониторе выставлена макс. контрастность при мин. яркости (для глаз полезно), вот и вышла неувязочка...

Спасибо, тоже обновился - работает!

Страницы

X