VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Исследование этой проблемы началось с того, что новая опера, начиная с линейки 12.хх перестала корректно обрабатывать стандартные яваскрипты
может быть это только моя локальная проблема, на моем компе и ОС win XP, хз....
....
когда курсор находится в поле текстового редактора и когда нажимается сочетание клавиш Ctrl+B, Ctrl+U и Ctrl+I, вобла вставляет соответствующие ббкоды: Bold, Underline, Italic
в яваскриптах движка есть соответствующие функции, которые обрабатывают события нажатий клавиш (сочетания), конкретно, это находится в файле vbulletin_textedit.js стр. ~3361 vB_Text_Editor_Events.prototype.editdoc_onkeypress = function(e)
стандартная функция яваскрипта, которая преобразует цифровое значение нажатой клавиши в символ и затем вставка соотв. ббкода в редактор
Code:
var code = e.charCode ? e.charCode : e.keyCode;
String.fromCharCode(code)
работало это все прекрасно до тех пор, пока не установил новую версию Оперы
все браузеры возвращают соответствующие нажатой клавише (e.keyCode || e.charCode) значения (даже ешак)
B => 98
U => 117
I => 105
Опера 12.14 (последняя на данный момент), возвращает такие значения
B => 2
U => 9
I => 21
если это не мои локальные проблемы, то решений как оказалось может быть два
1 костыль в файлах яваскриптов
2 установка расширения в "глючную" версию оперы
1. файл vbulletin_global.js найти
Code:
var is_opera = (YAHOO.env.ua.opera > 0);
и ниже добавить
Code:
var is_opera_12 = (is_opera && userAgent.match(/version\/12\./g)) ? true : false;
затем в файле vbulletin_textedit.js заменить кусок функции
Code:
switch (String.fromCharCode(code).toLowerCase())
{
case 'b': cmd = 'bold'; break;
case 'i': cmd = 'italic'; break;
case 'u': cmd = 'underline'; break;
default: return;
}
на этот
Code:
if(is_opera_12)
{
switch (code)
{
case 2: cmd = 'bold'; break;
case 9: cmd = 'italic'; break;
case 21: cmd = 'underline'; break;
default: return;
}
}
else
{
switch (String.fromCharCode(code).toLowerCase())
{
case 'b': cmd = 'bold'; break;
case 'i': cmd = 'italic'; break;
case 'u': cmd = 'underline'; break;
default: return;
}
}
2. переходим по линку и ставим расширение
там в настройках можно посмотреть, какие хоткеи и ббкоды поддерживаются
можно и переназначить сочетание клавиш
скрин настроек ниже
Как бы ещё победить IE-9.
Проблемы у него тоже с редактором - исчезает курсор. Печать можно, но нет курсора, что очень неудобно при правке текста. Другая проблема была в том, что эффект проявлялся не всегда. В добавок указанный эффект наблюдал только на своих форумах.
Помог счастливый случай. Пришлось печатать в редакторе абсолютно другого движка и этот эффект проявился. Упуская ход расследования, в сухом остатке оказалось то, что причина была во флэшке на странице с редактором. Решение проблемы было кардинальное, отключение флэш на страницах с редактором.
Вот, как бы этот баг IE пофиксить хотя бы для булки.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,802
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20310
Репутация в разделе: 7743
2
на форуме фанатов оперы, подтвердили, что это проблема именно браузера, а не моя "местечковая"
начиная с первых билдов линейки 12.хх