Avanturist.org.PATCH

By York Last update Aug 28, 2011 — Installed 6,790 times.

Archived Comments (locked)

in
Subscribe to Archived Comments 10 posts, 3 voices



Jesse Andrews Admin

The following is an archive of comments made before threaded discussions was implemented (November 16th, 2008)

 
York Script's Author


26.10.2008 v.0.07
(@)Частично переписал скрипт.
(-)Исправил несколько мелких ошибок.
(+)Добавил фильтрацию сообщений пользователей.
(+)Развитие автоматического сокрытия тем на главной странице. Под новыми темами появляется ссылка: "новая тема: отслеживать/не отслеживать".
(+)Добавил меню скрипта.
(+)В меню скрипта добавил ссылки "Свернуть все разделы" и "Развернуть все разделы".
(@)Ссылка на настройки скрипта перемещена из меню форума в меню скрипта.
(@)Теперь после изменения настроек происходит перезагрузка текущей страницы.

 
York Script's Author


12.10.2008 v.0.06
(+)Добавлены настройки скрипта, с их помощью можно отключать некоторые изменения, внесённые в эту версию.
(+)В меню форума добавлены ссылки на некоторые "скрытые" страницы форума.
(@)Убрано сообщение, появляющееся после сохранения закладки.
(+)На главной странице форума автоматически скрываются уже прочитанные темы. После этого их можно показать.
(-)В работе скрипта возникала ошибка, если в сообщениях на странице были определённые URL.

Подробнее о новых и имеющихся функциях см. в документации, именно там подробно расписано как включить ту или иную функциональность и что она делает. По умолчанию, изменения № 3 и №4 отключены, они включаются через настройки.
Кроме этого на первой странице: список возможностей скрипта, порядок установки и вся история изменений.

 
York Script's Author


03.10.2008 v.0.05
(-)Не обрезались длинные ссылки, содержащие русские буквы.
(+)Поиск по форуму с помощью Google.

 
York Script's Author


01.10.2008 v.0.04
(-)Исправлены ошибки при работе с Opera версий младше 9.5x. А именно: а) не работал переход на страницу по номеру и б) при нажатии на ссылки в архиве в появляющихся сообщениях вместо русского языка были иероглифы.
(*)Скрипт подставляет корректные ссылки на почтовый ящик.
(@)Отладочная версия скрипта объединена с обычной. Теперь, чтобы включить логи надо в конец URL добавить строку "#enable_log" и обновить страницу.
(+)Длинные ссылки обрезаются, чтобы не портить форматирование страницы (актуально для Opera всех версий и Firefox v1.x и v2.x).

29.09.2008 v.0.03
(@)Один файл для Firefox и Opera.
(*)Нормальная работа ссылок "Подтвердить" и "Удалить" в <url>Архиве.
(-)Исправление ошибок с инициализацией скрипта.

26.09.2008 v.0.01 & v.0.02

Отдельные файлы для Firefox и Opera
Возможности:

(+)Переход к странице по её номеру.
(*)Подтверждения новых поступлений в архив.

 
eugenga Scriptwright

Вот написал скрипт, запоминающий последнюю просмотренную страницу в теме
http://userscripts.org/scripts/show/34780
Только потом я нашёл что такое "якоря" на форуме, я их совершенно не замечал за полгода :-)
Тем не менее, этот скрипт делает работу автоматом, правда хранит данные локально. Только ФФ.

 
York Script's Author

Я сегодня ваше сообщение в PM увидел и написал ответ (см. текст ниже).
Всё что планируется я описал на первой страницы темы.
Для перехода к последнему прочитанному сообщению я использую закладки (якоря). Также см. FAQ в теме про скрипт, там объясняется в чём ваша проблема и как её решить.
Про div я думал, в скрипте даже TODO есть, т.к. там получаются вложенные формы, что нехорошо. Только я HTML и JS плохо помню, поэтому пока оставил так, решил потом разобраться как div с формой поместить в создаваемый мной span.

ОТВЕТ:
===
А я не видел ваше сообщение . Думал ссылка в углу странице показывает, есть ли письма, оказывается это не так. Сейчас чинил эту ссылку и увидел ваше письмо. Выходит, что это вы оставили комментарий на userscripts.org.

Почитал про XPath, вспомнил его, всё элементарно. Спасибо, что натолкнули меня на него. Ещё нашёл статью, Efficient JavaScript, видимо Opera тоже поддерживает evaluate(), при этом нативный XPath работает быстрее перебора элементов, что существенный плюс, страницы итак долго обрабатываются JS.
В общем, буду пользоваться.

Почти все улучшения, которые я собираюсь сделать элементарные, например, Google - добавить простую форму на страницу забив в hidden поля некоторые жёстко заданные строки.
Если будет желание, присоединяйтесь. Буду рад помощи.
===

Предлагаю, не пользоваться PM, а дальнейшее обсуждение вести здесь.

 
eugenga Scriptwright

Да с Авантюриста, но там что-то с личными сообщениями - непонятно то ли отправилось, то ли нет. По JS не обладаю полными знаниями, я просто смотрел код скриптов, ну и потом Гугл/Яндекс

По evaluate - в ФФ и Опере работает точно, очень удобно найти элемент по классу или иному атрибуту http://www-xray.ast.cam.ac.uk/~jgraham/mozilla/...

Какая функциональность ещё планируется?
Лично мне не хватает перехода к последнему непрочитанному сообщению в ветке, я смотрю на форум из ГуглРидера, а там ссылки вида topic,31.msg106101.html#msg106101
без номера страницы, и переход идёт на последнюю страницу темы.
Не понятно, почему у Авантюриста не реализована такая удобная фича. Или "Слежение за темой".

В Вашем скрипте ещё можно упростить
- иметь 1 экземпляр формы, и показывать div просто рядом с курсором

 
York Script's Author

Спасибо, посмотрю.
А метод document.evaluate() откуда? Что-то я его в Document Object Model (DOM) Level 1 Specification (Second Edition) не вижу. Он FF и Opera поддерживается?
Я JS никогда особо не занимался, а здесь ещё и jQuery. А вы ведь с http://avanturist.org сюда пришли? Не хотите оказать помощь для увеличения функциональности?

 
eugenga Scriptwright

Способ найти навигационные строки без перебора всех таблиц

function createGotoPageForms(topicId) {
var wordsStranitc = $x('.//td[@class="middletext"]');
// var found = 0; // found == i будет всегда, можно исключить
for (var i = 0; i < wordsStranitc.snapshotLength; i++) {
var cell = wordsStranitc.snapshotItem(i);
// дальше всё как у Вас
var text = cell.childNodes[0];

// в конец
// usefull "macroses"
function $(id) {return document.getElementById(id);}
function $x(xpath, contextNode, resultType) {
   contextNode = contextNode || document.body;
   resultType = resultType || XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;
   return document.evaluate(xpath, contextNode, null, resultType, null); }
function $xFirst(xpath, contextNode) {
   var xpr = $x(xpath, contextNode, XPathResult.FIRST_ORDERED_NODE_TYPE);
   return xpr.singleNodeValue; }

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel