Как стать автором
Обновить

Комментарии 49

жаль, что в ff2 не работает.
Я сейчас протестировать не могу. А вы смотрели что какое сообщение выдаёт консоль ошибок?
Попробуйте ещё раз...
сейчас тож не могу, вот до дома доеду и обдумаем.
$("commentsdiv").getElementsByClassName is not a function
это firebug.

может это один из экстеншинов балуется?

в фаерфокс 3 все прикольно работает, пасиб и на этом)
Хм… странно, это скорее всего с prototype проблемы, хотя…
Мда… Станное поведение… Вроде prototype кроссбраузерный, а у вас Jquery не подключён ко всем страницам?
нет. но ff 2 у меня перегружен расширениями.. а у вас во втором фаерфоксе работает?
У меня его сейчас нет под рукой.
Я знаменит :)
С этого места поподробнее ;)
думаю он имеет ввиду, что засветился на скрине
Я есть на картинке поста :)
Ах да! Поздравляю! ;)
Когда вечеринка? :)
Сразу после церемонии вречения Хабраоскара ;)
Может, стоит изображения через data:URL добавлять.
Прошу прощения, недописалось выше.
Можно покритиковать?
1. Если уж пользоваться prototype.js, то на всю катушку, я так думаю. Кода будет меньше, а кроссбраузерность повысится :)
2. Зачем "cursor:pointer;cursor:hand;" ? Достаточно "cursor:pointer;".
3. У вас это не проявится, но для parseInt() лучше явно указывать вторым аргументом базу системы счисления, потому что parseInt("09") != parseInt("09", 10).
4. У вас код в текстовичке не совсем соответствует коду в посте...
Честно говоря, я с prototype не работал, мне ближе jQuery, поэтому я не стал углубляться в изучение его возможностей, да и версия 1.4 менее навороченная чем 1.6, а с некоторыми вещами я честно говоря до конца не разобрался.
Поэтому с удовольствием послушал советы по более обширному использованию prototype, что бы вы улучши?
Постараюсь вечером обработанную версию вашего скрипта выложить...
Вот что получилось:
1. Bookmarklet (проверен в FF 2).
2. Исходный код букмарклета.
3. Версия для Greasemonkey (FF 2) — нужно просто вставить этот код в свой юзерскрипт (отличается от [2] только первой и последней строчками).

А вообще, конечно, с нетерпением ждём Суперхабра.
Спасибо за FF 2!
Большое спасибо, кое-что забыл уже!
имхо, к навигации это имеет малое отношение ;)
у меня вот все руки не доходят сделать вторую версию ХабраЛеса, с блекджеком и шлюхами с уменьшением отступов в том числе...
Можете использовать мои функции я не против, код есть, вам осталось только допилить.
Просто мой код кросс-браузерный или GreaseMonkey есть под все браузеры?
Спасибо!
Сам код будет последним этапом, и про него сказать не могу ничего) Кстати, волнует один технический момент — как заставить код выполняться до полной загрузки страницы. Я попытался это сделать, однако неуспешно...

GreaseMonkey — инструмент для работы userscripts в ff. В опере userscripts нативны; и точно знаю, что они прикручиваются к сафари. Для ие в голову приходят только букмарклеты...
Можно повесить обработчик событий на загрузку страницы, но дело в том, что пока не загрузился DOM пропарсить его нельзя, отсюда и все вытекающие.
Меня как раз интересует время до загрузки страницы ;) Это особенно актуально для Хабра с тяжелым кодом на длинных страницах.
Насколько я помню, доступ к DOM может быть и до полной его загрузки... Но вот вряд ли это нормально кроссбраузерно... Я привык работать через инлайн-скрипты с запусками инициализации (
В HabraForest я пытался сделать подсмотренную где-то вещь — просто запускать цикл, пока DOM полностью не загрузится, в котором проходиться по нужным элементам и на обработанные ставить маркер, чтобы пропускать их на дальнейших итерациях.
На Суперхабре комментарии реализованы по-новому. Готовьте ваши острые умы ;)
А вы инвайты на него не раздаете? ;)
Я забросил ХабраФорест в ожидании СуперХабра и собирался либо поучаствовать в обсуждении новой системы комментирования, либо сделать ХабраФорест уже под СуперХабр. А оказался облом в виде лимита кармы...
Как всё устаканится — откроем его для всех на привычном домене. Дело идёт к тому.
Деревья сворачивать стало проще в 10 раз, а расширение комментов, можно сделать из учёта вложенности.
Всё так, да.
А если я код напишу кроссбраузерный, включите его по-умолчанию?
Ммм, не понял вопрос.
Ну, если я разработаю код, то сможите ли вы ключить его в код сайта, т.е. к Суперхабру прикрутите?
Прямо с ходу обещать не могу. Хотя и не вижу причин сказать нет. Сделайте
*сможете
На СХ div'ы комментариев вложены друг в дружку? Это очень хорошо, если это так =)
ul'ы
Реализовано на вложенных UL.
Логичней было бы не делать пробелы если внутри древосписка нет разделений ветвей, например:

1 коммент
. 4 коммент
. . 6 коммент
. . . 7 коммент
. 5 коммент
2 коммент
. 8 коммент
. . 9 коммент
3 коммент


То есть 6 и 7 коммент и 8 и 9 коммент отображать на одном уровне, пока кто-нибудь не допишет внутрь ответ.
Поставил букмарклет. Работает. Однако есть проблема с первыми комментариями в ветках, сильно уезжающими влево.
Весной как раз продумывали несколько похожих решений с возможностью автоматического и ручного сдвигания узких веток влево с учётом фактической ширины видимой части окна браузера и номера вложенности* первого проблемного комментария.

* — каким по счёту комментарий в данной ветке. Можно примерно прикинуть, что при 1024 px проблемы начинаются с 7-го комментария, при 1280 — с 11-го и т.д.(с числами могу и наврать, не помню точно).
Проще говоря, сдвигалка влево появляется возле первого проблемного комментария. По клику на неё влево уезжает не вся ветка, а лишь то, что находится ниже (ну и сам коммент, к которому присобачена сдвигалка).
А, как быть с вложенными комментами, которые и тоже оказались зажатыми? Отключать для них сдвигалку? Или и их сдвигать? А если свернули родительский комментарий, их тоже сворачивать?
При ширине элемента меньше 200px? ;)
Да, так правильнее.
Хотя, по-хорошему, и тут есть свои условия: минимально допустимая ширина будет зависеть от размера шрифта.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории