Summary: | Множество ошибок при работе в DHTML | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Roman Savochenko <rom_as> |
Component: | kdebase-konqueror | Assignee: | Nobody's working on this, feel free to take it <nobody> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | anubix, cas |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Roman Savochenko
2008-01-16 19:35:28 MSK
С текстом проблема решилась. Но всплыла с обновлением содержимого блока. kdebase-konqueror-3.5.10-alt4.M41.1 - В фиксированном блоке строится дерево. - Дерево разрастается и появляются полосы прокрутки. - Прокручиваем вниз. - Сворачиваем большой кусок дерева. - Полосы прокрутки исчезают, а верхняя часть дерева осталась за пределами верхней границы блока. - Достать верхнюю часть без разворачивания дерева до появления полос прокрутки становится невозможно. Эта проблема актуальна и для: kde4base-konqueror-4.1.3-alt0.M41.2 Кроме неё в KDE4 обнаружена проблема с кодировками. Элементы создаваемые DOM динамически из данных полученных от сервера посредством AJAX отображаются иероглифами. При этом в заголовке страницы указана кодировка: <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> Данные идут заведомо в UTF-8. В остальных браузерах этих проблем нет. Со скролингом не помагает принудительная установка scrollTop в 0 и scrollIntoView для верхнего элемента. И ещё несколько багов: - Если браузер закрыть в момент выполнения JavaScript и синхронных запросов к серверу (getXmlHttp) он падает. - Если по нажатию на иконке, в обработчике onclick, вызывается JavaScript синхронный запрос к серверу (getXmlHttp), то иконка схватывается даже при малом времени удержании мыши. Отпускается только по Esc. В FireFox и Opera с этим нормально. IMHO проще запретить русские буквы. Обработка нелатинских букв(в т.ч. многобайтных) может быть фиг знает как сделана. Извиняюсь, не туда влепил :-( После реализации своего динамического WEB-сервиса собрал ошибки браузеров (http://diyaorg.dp.ua/oscadawiki/Doc/WebCfgD?v=5h6&#h810-9) Из них у Konqueror большинство: 1. Стабильные падения браузера. Браузер неоднократно и стабильно падает в моменты вычисления JavaScript и при операциях с внешними окнами. 2. Не возвращается скролл дерева навигации. Если дерево навигации развернуть до появления вертикального скрола, затем прокрутить его вниз, после чего свернуть крупную ветку, то вертикальный скролл исчезает, а часть дерева остаётся невидимым за верхней частью блока. Т.е. содержимое блока не обновляется. 3. Не обновляются изображения. В полях изображений, для обновления изображения из сервера, изменяется свойство “src”. Браузер этого не чувствует, иногда даже обновляет размер рамки, а изображение не обновляет. Методы для предотвращения кеширования изображения применяются, но не помогают. 4. Схватывание изображений кнопок. JavaScript модуля используют не асинхронные, а синхронные запросы к серверу для сохранения последовательности действий. В моменты такого запроса, если он был вызван событием от изображения (изображение является кнопкой), изображение схватывается как будто для переноса, даже по кратковременным кликам мыши. 5. Невозможно вставить новый элемент в дерево объектов полученное как результат XMLHttpRequest. Для контроля за модификацией структуры конфигурационной страницы использовалось приведение текущего дерева структуры к новой, только что полученной из XMLHttpRequest. В момент вставки нового элемента в дерево структуры посредством insertBefore() происходит ошибка «DOM error 4". Если вставка производится в дерево созданное с нуля (а не из XMLHttpRequest) эта ошибка не происходит. Похоже проблема заключается в отличии объекта “document” владельца этих деревьев. В такое дерево невозможно добавить узел созданный как document.createElement(). Вставляются только соданные как mytree.ownerDocument.createElement(). Такого рода баги нужно репортить в upstream. Была у меня такая мысль. Но после того как я увидел сколько там нефикшенных ошибок на Konqueror висит, я понял, что эффекта будет не более чем постить здесь. :) (In reply to comment #10) > я понял, что эффекта будет не более чем постить здесь. :) Неправильно поняли. Здесь постить будет эффекта не более, чем постить там ;-) (В ответ на комментарий №3) > Кроме неё в KDE4 обнаружена проблема с кодировками. Элементы создаваемые DOM > динамически из данных полученных от сервера посредством AJAX отображаются > иероглифами. > При этом в заголовке страницы указана кодировка: > <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> > Данные идут заведомо в UTF-8. > В остальных браузерах этих проблем нет. С этим разобрался. Konqueror некорректно парсит XML без заголовка: <?xml version="1.0" encoding="UTF-8" ?> Если заголовок присутствует то и проблемы нет. Актуальными для Konqueror4 остаются ошибки: - Не возвращается скролл дерева навигации. - Не обновляются изображения. И в добавок, то что обновляется видимо мигает. Даже в Konqueror 3.5 такого не было. Оказывается, что с заголовком "<?xml version='1.0' encoding='UTF-8' ?>" Konqueror 3.5.10 не работает. Цирк просто какой-то! И что с ним блин делать? (В ответ на комментарий №13) > И что с ним блин делать? Писать на bugs.kde.org. ;) Ну хоть "Content-Type: text/xml; charset=UTF-8" в заголовке http ответа на POST запрос везде работает. В kde-3 уже вряд ли что-то серьезное дорабатываться будет. |