Так уж повелось, что страницы и сайты в нашей реальности оптимизируют только под ИЕ., который отличается весьма фривольной интерпретацией стандартов…
От этого и идут все несовместимости и косяки в так называемых „альтернативных браузерах”, к которым причисляется и Опера.
К счастью, Opera Software ввела в свой браузер поддержку свойств и методов, позволяющих исправить положение.
В этой записи я рассмотрю 2 проблемы, которые портят жизнь многим пользователям Оперы.
1. не работающие (или же работающие криво) скрипты быстрого ответа/добавления комментариев, цитирования, и многого другого.
Суть проблемы:
—Скрипт цитирования был построен на vbs, и соответственно не работал нигде кроме ИЕ.
—Опера отфильтровывалась, и ей подсовывали менее функциональный код.
Эти проблемы решаются с помощью user JS, скриптов, которые Опера подключает к каждой странице.
http://kostia.gorodok.net/diary/diary.fix.js — скачайте его и поместите в свой каталог пользовательских скриптов.
Этот скрипт делает следующее:
Этот скрипт делает следующее:
—исправляет кнопки вставки тегов — тем самым позволяя обрамлять выделенный текст…
—исправляет vbs скрипт на его аналог в js (в связи с тем, что на дневниках уже заменили скрипт, можно обойтись и без него, единственное, чем мой diary fix отличается — вставляет цитату в месторасположение курсора, а не в конец текста.
—Чуть-чуть изменяет скрипт вставки имени, с [b ]имя[/b ] на [u ]2[b ]Имя:[/b ][/u ]
— правит динамический тег more
— позволяет отправлять комментарий по нажатию CtrlEnter
— по нажатию CtrlKey вызывает соответствующее действие (Key: B — выделяет текст жирным
I — курсив
U —подчёркивание
S — перечёркивание
'-' — вставляет длинное тире.
— работает в форме новой записи и быстрого ответа.
—скрипт настраивается, таким образом можно отключить изменения и пользоваться стандартными функциями.
2. Вторая проблема является не столько проблемой @дневников, сколько проблемой Оперы, и может проявляться на любых сайтах.
Статистика дневников считается с отдельного сервера, top.diary.ru, и периодически (особенно в последнее время), этот сервер лежит.
Проблема Оперы в том, что в ней
очень большое время ожидание ответа, и поэтому белый экран может висеть далеко не один час (проверено на собственном опыте)
решение
Решение достаточно простое — воспользоваться штатным средством Оперы для фильтрации адресов и запретить соединение с сервером top.diary.ru
1 — необходимо иметь версию Оперы 8.5+, либо зарегестрированную версию ниже.
2 — необходимо найти файл настроек оперы — opera6.ini (самый простой способ это сделать — меню Help » about (либо opera:about), и найти там строку Preferences)
3 — при закрытой опере, открыть этот файл в любом текстовом редакторе, найти переменную URL Filter File в разделе [Adv User Prefs]
(либо создать такую переменную, если она отсутствует.)
написать в ней путь к файлу filter.ini (либо найти этот файл, если прописано.)
В опере 9 и старше можно всё это сделать через opera:config, без перезагрузки браузера.
4 — в файл filter.ini вставить следующее:
—————————————————————
[prefs]
[include]
*
[exclude]
http://top.diary*
http://???.top.diary*
—————————————————————
Внимание, дневники могут самопроизвольно добавить _ перед http:, удалите этот знак перед тем как вставить текст.
(либо, если он уже существует, то вставить две последние строки в раздел [exclude])
5 — сохранить файл
6 — перезагрузить оперу.
PS: не рекомендую это делать „на всякий случай”, ибо таким образом, в случае рабочей статистики, вы недосчитаетесь себя, и понизите процент пользователей Оперы…
Надеюсь, что я сумел обьяснить более или менее понятно, если что — рад буду ответить на ваши вопросы…
Комментарии приветствуются.
старые апдейты
UPD (18.08.2006):
3. проблема с динамическим тегом more.
в связи с кривым js содом, отдаваемым дневниками, опера не может отобразить содержимое. обойти проблему можно при помощи userJS diary.fix.js
4. CtrlEnter для того чтоб отправить сообщение
необходимо воспользоваться userJS (версия 0.4),
известный недостаток: иногда надо нажать CtrlEnter несколько раз.
UPD (01.06.2006):
5. полная совместимость с платной версией.
6. добавил следующие хоткеи для формы:
CtrlB — выделяет текст жирным,
CtrlI — курсивом
CtrlU — подчёркивает
CtrlS — перечёркивает
Ctrl- — вставляет длинное тире.