[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Баг в Opera 12
killer8080
Обнаружил досадный баг в опере, точно не помню начиная с какой ревизии, но в текущей 12.14 он так и остался. Суть его в том, что например на этом форуме выделяя текст, и нажимая быструю цитату user posted image , строки текста сливаются в одну. В итоге цитата превращается в не читабельную кашу. Если текст короткий еще можно вручную подредактировать, но с большими объемами это уже геморно. Как выяснилось причина такого поведения в неправильной обработке выделяемого текста, через document.getSelection(). Если текст был в одну строку, разделенный только тегом br, без символов перевода строки, то он почему то воспринимается как слитная строка. На сайтах, где вывод обрабатывается через nl2br, такой проблемы не будет, т.к. эта функция просто добавляет тег, перед переводом строки, но на этом форуме, как и на многих других, на IPB, похоже используется str_replace, и перевод строки замещается тегом.
Вначале думал писать в оперу баг репорт, но в свете последних событий не вижу в этом смысла. Для себя решил эту проблему через userJS, благо разработчики дали нам такую возможность, самим править их косяки user posted image
Решил поделится своим костылем, возможно кому то еще он будет полезен user posted image

1 создаем директорию, где сочтем нужным, в которой будут хранится пользовательские скрипты.

2 настраиваем оперу
Инструменты->Общие нсатройки (Ctrl+F12)->Содержимое->Настроить JavaScript
внизу будет файловый диалог, где нужно указать путь к той папке, что мы создали

3 создаем в этой директории файл, например с именем bug_fix_witn_newline.js, со следующим содержимым
document.addEventListener(
'DOMContentLoaded',
function() {
var br = document.getElementsByTagName('br');
for(var i = 0; i < br.length; i++)
br[i].parentNode.insertBefore(document.createTextNode("\n"), br[i]);
},
false
);


4 всё, радуемся жизни user posted image. Перезапуск браузера не требуется, юзерские скрипты запускаются при каждом открытии страницы, или рефреше.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.