Вниз
Скачать: CL | DM;

Изменения в TWebBrowser   Найти похожие ветки 

 
Ш-К   (2007-05-16 05:53) [0]

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

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

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


 
G_M_S ©   (2007-05-16 18:09) [1]

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


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

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

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


 
G_M_S ©   (2007-05-18 10:01) [3]


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

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


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

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


 
G_M_S ©   (2007-05-18 12:47) [5]


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

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

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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
15-1199139401
Nic
2008-01-01 01:16
2008.02.03
С новым годом, друзья!


3-1190862009
Arkadiy
2007-09-27 07:00
2008.02.03
строковое поле


2-1199456039
namco
2008-01-04 17:13
2008.02.03
txt в DBGRID


15-1198671211
Alkid
2007-12-26 15:13
2008.02.03
Фрактальная размерность множества


15-1198857366
Alkid
2007-12-28 18:56
2008.02.03
Multiple dispatch




   Наверх