Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TWebBrowser и обновление элемента веб-страницы [D7, XP]


Serge Petrov ©   (2012-05-30 19:30:00) 

Есть приложение, которое использует TWebBrowser. Установлен IE8. Приложение заходит на страницу в интранете, на которой в одной из строк таблицы выводится серверное время (страница не моя и изменить ее нет возможности, если там код написан криво). Там это сделано так:

<table>
...
 <tr>
<td colspan="2" class="title">Server time <span id="servertime">XXXXXXX</span></td>
...


Там, где XXXXXXX - происходит обновление времени. Проблема в том, что TWebBrowser время сам не обновляет, но если я навожу мышью на ссылки, просто провожу мышью над элементом таблицы - время обновляется. Во всех браузерах доступных все работает корректно. Думал проблема в программе. Но запустил отдельно IE8, открыл ту страницу и вижу, что проблема та же. Сейчас сделал так - через коллекцию getElementsByTagName нахожу нужный мне элемент с id = 'servertime'. Добавил в программу таймер с интервалом 100ms, в котором делаю следующее:

var
 eltext: string;

     eltext := (ServerTimeElement as IHTMLElement).innerText;
     (ServerTimeElement as IHTMLElement).innerText := eltext;


Тогда все обновляется. Но сдается мне, что это кривость неимоверная. Кто с подобным сталкивался? Что делали?


Max   (2012-05-30 20:54:00) [1]

ok, понял. буду смотреть


sniknik   (2012-05-30 20:33:00) [2]

> страница не моя и изменить ее нет возможности
и что? узнав причину можно думать, что можно сделать, не узнав... одна заплатка "наобум" породит еще 10 глюков.


Медвежонок Пятачок   (2012-05-30 20:22:00) [3]

не нравится такой вариант, есть другой.

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


Медвежонок Пятачок   (2012-05-30 20:19:00) [4]

тогда все ок.
смотри последнюю строчку в вопросе.


Max   (2012-05-30 20:18:00) [5]

Серж то я был, просто заходил с другого компа


Max   (2012-05-30 20:16:00) [6]


> включить средства отладки скриптов в ие8 и найти косяк в
> скрипте который обновляет спан

Все так, но я ж писал "страница не моя и изменить ее нет возможности". Тут только со стороны программы


Медвежонок Пятачок   (2012-05-30 19:49:00) [7]

включить средства отладки скриптов в ие8 и найти косяк в скрипте который обновляет спан


Наверх

Титульная страница Поиск, карта сайта Написать письмо