Избранное


Вы здесь: Авторские колонки FantLab > Авторская колонка «Seifer» > "Избранное"
Поиск статьи:
   расширенный поиск »

«Избранное»

Статья написана 2 февраля 2011 г. 00:00

Здравствуйте.

Введение

Зачастую просматривая библиографии авторов на фантлабе, читая аннотации и отзывы, попадаются интересные произведения, которые затем хочется прочитать. Для записи названия и ссылки на произведения можно использовать «мою записную книжку», но мне такой метод показался неудобным, и я решил написать небольшой скрипт, который бы позволял формировать лист с ссылками на интересующие произведения. Итак, встречайте, скрипт «Избранное».

Моя книжная полка выглядит вот так:


Общий вид панели «Избранное»

Справка

Установка скрипта для Opera приводится под катом.

1. Добавление произведения в список

После установки скрипта на страницах произведений рядом с названием появляется ссылка «в избранное»:


Ссылка «в избранное» на странице произведения

После нажатия на ссылку запись о произведении появляется в «Избранном».

2. Удаление произведения из списка

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


Удаление произведения из списка

Важная инфрмация

Скрипт написан javascript для браузера Opera. Работа на других браузерах не проверялась. (Если будет надобность, протестирую и для других браузеров). Сам список хранится на компьютере пользователя в cookie, поэтому список может благополучно кануть в небытие, если, например, пользователь вдруг захочет удалить все cookies. (С другой стороны, при получении списка лишний раз не тревожится сервер fantlab'а). Другое очень важное замечание: очень сложно вклинивать список в существующую структуру сайта список. Проблема заключается в том, что элементы сайта не обладают уникальными id, а само количество тегов table и p может быть разным. Поэтому список и ссылка «в избранное» может появляться не совсем там, где надо. (!!!) В дальнейшем в зависимости от отзывов пользователей (если таковые будут), я буду дорабатывать скрипт.

Все сообщения об ошибках обязательно сопровождайте скриншотами. Спасибо.




Для начала создайте папку, в которой будут храниться пользовательские скрипты. Это может быть любая папка, но я создал папку по адресу «C:\Program Files\Opera\userjs». Туда копируем файл «fantlab_readlist.js» (да и вообще любые пользовательские скрипты).

Откройте «Общие настройки», выбрав пункт меню, как показано на рисунке, или нажав комбинацию клавиш Ctrl+F12.


Пункт «Общие настройки» в меню разных стилей

В появившемся окне «Настойки» переходим на вкладку «Расширенные», выбираем справа пункт «Содержимое». Ставим флаг «Включить JavaScript» и жмём кнопку «Настроить JavaScript».


Указываем в поле «Папка пользовательских файлов JavaScript» папку со скриптами.


Жмём «ОК».




Файлы: fantlab_readlist.js (7 Кб)


536
просмотры





  Комментарии
Страницы: 12


Ссылка на сообщение6 февраля 2011 г. 11:56
А не лучше ли будет указать папку для скрипта не в общих настройках яваскриптов, а в «настройках для сайта», прописать там фантлаб и уже под него заточить все?
Иначе надпись «книжная полка» появляется в самых неожиданных местах и на куче сторонних сайтов...
свернуть ветку
 


Ссылка на сообщение6 февраля 2011 г. 12:04
Тонкостей не знаю, но разве на других сайтах оно может появиться? Скрипт вроде как под фантлаб заточен — они друг друга узнают.
Я уже неделю брожу по всяким сайтам и нигде полка даже не пыталась вылезать, только на fantlab.ru.
 


Ссылка на сообщение6 февраля 2011 г. 12:16
У меня в Опере частенько появляется: на Кинопоиске над постером, на imdb где-то в середине страницы, еще где-то уже не помню где...
 


Ссылка на сообщение6 февраля 2011 г. 12:20
Я постоянно нахожусь и на кинопоиске и на imdb (в силу обстоятельств)) — ничего нет.
Возможно это уже индивидуальные «глюки». Тогда это надо как-то отлавливать и учитывать в скрипте.
 


Ссылка на сообщение6 февраля 2011 г. 14:21
Да, признаю, это возможно. Но это — больше глюк Оперы, чем мой. Потому что в заголовке скрипта стоит директива:

цитата

// @include     http://fantlab.ru/*

которая указывает Опере, что данный скрипт предназначен для выполнения на страницах, адрес которых начинается с fantlab.ru... Поэтому виновата больше Опера, но смею заверить, что когда этот скрипт войдет в состав сайта, ничего подобного на сайтах kinopoisk появляться не будет :-)


Ссылка на сообщение10 февраля 2011 г. 17:25
Спасибо, очень удобная штука:cool!:


Ссылка на сообщение17 апреля 2011 г. 22:17
Что-то у меня вдруг «Избранное» кривокосо стало работать — далеко не на всех страницах его видно, и стили посъезжали что ли... Подозреваю, что это с обновлением движка фантлаба как-то связано
свернуть ветку
 


Ссылка на сообщение18 апреля 2011 г. 23:10
Да, возможно, вёрстка главной страницы могла претерпеть изменения. Потерпите немного. Уже скоро-скоро будут готовы официальные полки от фантлаба. Каждый день над ними работаем! :-)
 


Ссылка на сообщение19 апреля 2011 г. 23:06
Ну, пока суд ад дело я методом научного тыка заставил у себя работать Ваше избранное. По ходу там на таблицу больше стало. У меня вместо
if (tables[6].innerHTML.indexOf('личная переписка')>-1) //личная переписка есть
теперь работает
if (tables[7].innerHTML.indexOf('личная переписка')>-1) //личная переписка есть

Ну и css чуток поправил, поставил на картинку заголовка no-repeat.
Вроде еще что-то менял, не помню. Главное — работает.

UPD. Нет, ни фига. То работает, то не работает. Причем на одних и тех же страницах. Не понимаю ???
UPD2. А может, просто надо было кэш браузера почистить. Вроде тьфу-тьфу-тьфу, работает, но именно с 7-й в проверке таблицей.
Страницы: 12

⇑ Наверх