Создать тему  Создать ответ 
Альтернативная реализация спойлеров
17-10-2012, 11:04    
Сообщение: #1
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

Альтернативная реализация спойлеров
Я предлагаю заменить текущий код спойлеров вот таким: http://agrest.fav.cc/misc/sp.php. По сути, это просто код, аналогичный ЛФ-ному (если очень хочется, можно заменить надписи на кнопках на три стрелочки вниз и вообще заменить кнопки на ссылки).

Плюсы:
  • Можно встраивать спойлер в спойлер,
  • Работает и при выключённом JavaScript’е (правда, выглядит не очень красиво) — поддержка принципа graceful degradation; пользователи без JavaScript'а увидят вот это.

Главное отличие: сейчас Гугл не ищет по спойлерам, а так будет искать. Я не вижу в этом проблемы (на ЛФ спойлеры тоже индексируются). Если нужно что-то скрыть от Гугла, лучше использовать не спойлеры, а создать какой-то другой тег специально для этой цели. (Кому-то надо? Можно ещё сделать теги «скрыть от гостей», «скрыть от неграждан».)

Что вы думаете по этому поводу?

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
17-10-2012, 15:04    
Сообщение: #2
arseniiv

± ∓
Сообщений: 227
Зарегистрирован: 05.07.12

RE: Альтернативная реализация спойлеров
Если я не буду баловаться многоспойлерством, можно вторую кнопку/ссылку и не делать (вроде бы другие этим не занимались?). А если её делать, надо немного подкорректировать, чтобы она могла закрывать спойлер, как первая — раз первая переключает текущий спойлер, то и вторая, по идее, должна.

Honor thy error as a hidden intention
Вебсайт Найти все сообщения
Цитировать это сообщение
17-10-2012, 15:47    
Сообщение: #3
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

RE: Альтернативная реализация спойлеров
Тут Python уже раскритиковал, что цветной текст и картинки будут видны. Ну, с цветным текстом можно бороться с помощью !important (правда, тогда при наведении мышки он будет чернеть; для тега colour это поправимо с помощью ещё одного !important, для color — толком непоправимо), а вот с картинками да, сложно.

Python предложил использовать дропдаўн на основе CSS, типа http://csswizardry.com/demos/css-dropdown/ и http://csswizardry.com/2011/02/creating-...down-menu/. У меня есть некоторые сомнения в удобстве (а если текста в спойлере слишком много?), но надо будет попробовать сделать прототип и поиграться.

Кстати, Пѵѳон сказал, что в доисторические времена на ЛФ были именно такие спойлеры, с наведением мыши. :o

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
17-10-2012, 16:24    
Сообщение: #4
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

RE: Альтернативная реализация спойлеров
(17-10-2012 15:04)arseniiv писал(а):  Если я не буду баловаться многоспойлерством, можно вторую кнопку/ссылку и не делать (вроде бы другие этим не занимались?).
Может, просто сделать её ненавязчивой и маленькой? По идее от неё всё равно может быть польза.

(17-10-2012 15:04)arseniiv писал(а):  А если её делать, надо немного подкорректировать, чтобы она могла закрывать спойлер, как первая — раз первая переключает текущий спойлер, то и вторая, по идее, должна.
Подкорректировал:
http://agrest.fav.cc/misc/sp2.php

Версию без JavaScript’а тоже подкорректировал:
http://agrest.fav.cc/misc/sp2.php?nojs=1 (visibility вместо color — можно прятать картинки и цветной текст)

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
22-10-2012, 19:30    
Сообщение: #5
Python

Senior Member
Сообщений: 462
Зарегистрирован: 11.07.12

RE: Альтернативная реализация спойлеров
Цитата:Кстати, Пѵѳон сказал, что в доисторические времена на ЛФ были именно такие спойлеры, с наведением мыши. :o
С ручным выделением мышью текста, замаскированного под цвет фона, если точнее.

LF agent
Вебсайт Найти все сообщения
Цитировать это сообщение
09-11-2012, 00:20    
Сообщение: #6
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

RE: Альтернативная реализация спойлеров
Это свершилось! Если спойлеры отображаются криво, обновите кэш (Shift + кнопка обновления).

Spoiler:

Было бы неплохо протестировать спойлеры

Spoiler: ...

в разных позициях

Spoiler:

и сообщить обо всех

Spoiler:

пожеланиях
и

Spoiler:

багах


Блин, что-то не так. Подождите, ща поправлю.

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
09-11-2012, 00:25    
Сообщение: #7
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

RE: Альтернативная реализация спойлеров
Known bugs:
  • В Опере 9 не работает рекурсивное раскрытие (если будет не лень, я потом установлю себе эту Оперу и попробую посмотреть, в чём дело);
  • Не работают подписи, не заключённые в кавычки ([spoiler=слон] не работает, а [spoiler="слон"] работает). (Исправлено)
  • После «быстрого редактирования» спойлеры не обрабатываются (надо обновлять страницу). (Исправлено)

Сообщайте, если обнаружите ещё!

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
13-10-2013, 04:48    
Сообщение: #8
Agrest

井蛙 / жабенєтко в керниці
Сообщений: 1556
Зарегистрирован: 08.08.12

RE: Альтернативная реализация спойлеров
(09-11-2012 00:25)Agrest писал(а):  В Опере 9 не работает рекурсивное раскрытие (если будет не лень, я потом установлю себе эту Оперу и попробую посмотреть, в чём дело)
Python, скажите, у Вас сейчас работают или не работают рекурсивные спойлеры? У меня не ставится Опера 9.0, я поставил 9.5, — тут рекурсивные спойлеры (выше на этой странице) работают на ура.

«билингв мусорит в обоих языках — и первом, и втором» © Python
Вебсайт Найти все сообщения
Цитировать это сообщение
15-10-2013, 00:03    
Сообщение: #9
Python

Senior Member
Сообщений: 462
Зарегистрирован: 11.07.12

RE: Альтернативная реализация спойлеров
(13-10-2013 04:48)Agrest писал(а):  
(09-11-2012 00:25)Agrest писал(а):  В Опере 9 не работает рекурсивное раскрытие (если будет не лень, я потом установлю себе эту Оперу и попробую посмотреть, в чём дело)
Python, скажите, у Вас сейчас работают или не работают рекурсивные спойлеры? У меня не ставится Опера 9.0, я поставил 9.5, — тут рекурсивные спойлеры (выше на этой странице) работают на ура.

В 9.27 не хотят работать.

LF agent
Вебсайт Найти все сообщения
Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)