Bug 14040 - Множество ошибок при работе в DHTML
: Множество ошибок при работе в DHTML
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/kdebase-konqueror)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-01-16 19:35 by
Modified: 2011-02-14 13:14 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-01-16 19:35:28
Дистрибутив: ALT4.0 Branch
Версия: kdebase-konqueror-3.5.8-alt10.M40.1

Замечено при формировании текстового элемента DOM из JavaScript посредством 
вызова "this.place.appendChild(document.createTextNode(txtVal));", а также 
последующей, периодической, модификации свойства nodeValue созданого текстового 
элемента вызовом "txtNode.nodeValue = txtVal".
При определённо изменяющемся значении txtVal отображение элемента не меняетя 
или не обновляется. Во всех других браузерных движках (Gecko, Opera, IE) это 
работает и содержимое обновляется. Обновление этого поля происходит только если 
свернуть/развернуть браузер или повыделять это поле мышью.
------- Comment #1 From 2008-06-13 13:00:39 -------
*** This bug has been confirmed by popular vote. ***
------- Comment #2 From 2008-12-02 15:22:17 -------
С текстом проблема решилась.
Но всплыла с обновлением содержимого блока.
kdebase-konqueror-3.5.10-alt4.M41.1
- В фиксированном блоке строится дерево.
- Дерево разрастается и появляются полосы прокрутки.
- Прокручиваем вниз.
- Сворачиваем большой кусок дерева.
- Полосы прокрутки исчезают, а верхняя часть дерева осталась за пределами
верхней границы блока.
- Достать верхнюю часть без разворачивания дерева до появления полос прокрутки
становится невозможно.
------- Comment #3 From 2008-12-02 15:35:58 -------
Эта проблема актуальна и для:
kde4base-konqueror-4.1.3-alt0.M41.2
Кроме неё в KDE4 обнаружена проблема с кодировками. Элементы создаваемые DOM
динамически из данных полученных от сервера посредством AJAX отображаются
иероглифами.
При этом в заголовке страницы указана кодировка:
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
Данные идут заведомо в UTF-8.
В остальных браузерах этих проблем нет.
------- Comment #4 From 2008-12-08 11:11:55 -------
Со скролингом не помагает принудительная установка scrollTop в 0 и
scrollIntoView для верхнего элемента.
------- Comment #5 From 2008-12-09 13:48:26 -------
И ещё несколько багов:
- Если браузер закрыть в момент выполнения JavaScript и синхронных запросов к
серверу (getXmlHttp) он падает.
- Если по нажатию на иконке, в обработчике onclick, вызывается JavaScript
синхронный запрос к серверу (getXmlHttp), то иконка схватывается даже при малом
времени удержании мыши. Отпускается только по Esc.
В FireFox и Opera с этим нормально.
------- Comment #6 From 2008-12-15 15:00:48 -------
IMHO проще запретить русские буквы. Обработка нелатинских букв(в т.ч.
многобайтных) может быть фиг знает как сделана.
------- Comment #7 From 2008-12-15 17:09:28 -------
Извиняюсь, не туда влепил :-(
------- Comment #8 From 2009-01-01 15:24:40 -------
После реализации своего динамического 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().
------- Comment #9 From 2009-01-01 15:25:48 -------
Такого рода баги нужно репортить в upstream.
------- Comment #10 From 2009-01-27 23:54:41 -------
Была у меня такая мысль. Но после того как я увидел сколько там нефикшенных
ошибок на Konqueror висит, я понял, что эффекта будет не более чем постить
здесь. :)
------- Comment #11 From 2009-01-29 17:58:17 -------
(In reply to comment #10)
> я понял, что эффекта будет не более чем постить здесь. :)
Неправильно поняли. Здесь постить будет эффекта не более, чем постить там ;-)
------- Comment #12 From 2009-02-18 18:25:54 -------
(В ответ на комментарий №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 такого не было.
------- Comment #13 From 2009-02-19 22:33:21 -------
Оказывается, что с заголовком "<?xml version='1.0' encoding='UTF-8' ?>"
Konqueror 3.5.10 не работает.
Цирк просто какой-то!
И что с ним блин делать?
------- Comment #14 From 2009-02-20 10:46:03 -------
(В ответ на комментарий №13)
> И что с ним блин делать?
Писать на bugs.kde.org. ;)
------- Comment #15 From 2009-02-20 10:55:28 -------
Ну хоть "Content-Type: text/xml; charset=UTF-8" в заголовке http ответа на POST
запрос везде работает.
------- Comment #16 From 2011-02-14 13:14:22 -------
В kde-3 уже вряд ли что-то серьезное дорабатываться будет.