Войти

Показать полную графическую версию : [решено] HTML код из БД > WebBrowser с картинками


ibmpc
04-06-2011, 17:31
Использую процедуру для загрузки HTML кода в TwebBrowser, но есть одно но: на страницах есть изображения. Страница подгружается ,но теряет свой путь как я понял. Картинки прописаны относительно страницы, а адрес страницы становиться about:blank
Как это вылечить ? Очень не хочется постоянно сохранять страницу и потом удалять ((.

uses
ActiveX;

procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
sl: TStringList;
ms: TMemoryStream;
begin
WebBrowser.Navigate('about:blank');
while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
Application.ProcessMessages;

if Assigned(WebBrowser.Document) then
begin
sl := TStringList.Create;
try
ms := TMemoryStream.Create;
try
sl.Text := HTMLCode;
sl.SaveToStream(ms);
ms.Seek(0, 0);
(WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
finally
ms.Free;
end;
finally
sl.Free;
end;
end;
end;

Iska
04-06-2011, 20:46
ibmpc, можете попробовать:
* менять адреса изображений с относительных на полные;
* использовать на странице тэг «<BASE HREF="http://…">».

ibmpc
04-06-2011, 22:42
Единственный подходящий вариант это сохранять страницу из БД и уже её открывать. Плюс: сохраняется связь с картинками, работает режим редактирования и все остальные уже ранее написаный функции :) Минус: с ReadOnly носителя больше не работает.
Проблема решена.




© OSzone.net 2001-2012