Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] HTML код из БД > WebBrowser с картинками (http://forum.oszone.net/showthread.php?t=208249)

ibmpc 04-06-2011 17:31 1688385

HTML код из БД > WebBrowser с картинками
 
Использую процедуру для загрузки 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 1688471

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

ibmpc 04-06-2011 22:42 1688560

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


Время: 03:54.

Время: 03:54.
© OSzone.net 2001-