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

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

Изменения в TWebBrowser


Ш-К ©   (2007-05-16 05:53:00) 

У меня есть HTML документ. При отображении в TWebBrowser мне надо динамически поменять какой-то элемент. Вся проблема в том, что мне нельзя показывать предыдущее состояние элемента. А элемент я должен менять только средствами DHTML загруженного документа.

Т.е. другими словами. Мне надо загрузить документ, модифицировать его, и только потом паказать пользователю.

PS. Да, загружаю документ через body.innerhtml := ...


Ш-К   (2007-05-20 14:46:00) [1]

Положил панель на TWebBrowser, рисую на ней через (Document as IViewObject), загружаю документ, убираю панель.


G_M_S   (2007-05-18 12:47:00) [2]


> Так вот, мне не надо чтоб все прыгало, а был виден только
> результат.

От этого ты никак не избавишься. Разве что закроешь TWebBrowser на момент загрузки чем-нить (например, грузить паги по очереди в 2 TWebBrowser'a и делать им все время SendToBack и BringToFront). Тобишь послеокончания загрузки/обработки показывать тот, в который пага грузилась, а до этого будет висеть старая.

Но если обрабатывать клики и пр. события юзера - ничем и никак ты не закроешь бравзер на время работы скриптов.


Ш-К   (2007-05-18 10:28:00) [3]

Я создаю слои (<div>). Размеры и позиция этих слоев зависит от содержания слоя, от координат других элементов, от размеров самого браузера и от стилей-классов (которые вставляются еще в стринге). А потом, когда я получил координаты слоя, я корректирую другие элементы.
Так вот, мне не надо чтоб все прыгало, а был виден только результат.


G_M_S   (2007-05-18 10:01:00) [4]


>  Речь идет именно о правке средствами DHTML

Насколько я знаю - DHTML это что-то типа "Document.Forms[2].Elements[0].Value = la-la-la". DHTML - скрипты, меняющие документ при действиях пользователя. Что ты там собрался менять ОТДЕЛЬНО (без юзера) и не проще ли это поменять таки текстом (т.к. правка текста - более мощное и гибкое средство, чем DHTML)? Ну или ситуацию подробнее - я вообще вэб-кодингом подрабатываю, может, подскажу чего попроще.


Ш-К   (2007-05-18 09:28:00) [5]

Все, что можно править в стринге, и так правится. Речь идет именно о правке средствами DHTML.

Я попробывал загружать документ в отдельный невидимый TWebBrowser и там править. Но из невидимого TWebBrowser прочитать текст правленного документа невозможно.


G_M_S   (2007-05-16 18:09:00) [6]

Документ бери при помощи IdHTTP, сохраняй на винт и оттуда открывай методом Navigate. В промежутке меняй в локальном файле, чего надо...


Наверх

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