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

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

Работа с фреймами в веббраузере


Alek ©   (2004-06-21 17:25:00) 

Всем добрый день!

Вот этим кодом я могу в WebBrowser1 загрузить данные прямо со стринговой переменной!

var
 v: Variant;
 HTMLDocument: IHTMLDocument2;
begin
 HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
 v := VarArrayCreate([0, 0], varVariant);
 v[0] := HTMLString; // this is your html string
 HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
 HTMLDocument.Close;
 ...
end;


вот так я могу получить доступ к фрейму и загрузить в него даные из файла:

WebBrowser1.OleObject.Document.frames.item(i).navigate(' http://yandex.ru');

Вопрос заключается в следующем!
Как загрузить данные во фрейм из стринговой переменной???


nikkie   (2004-06-23 11:06:00) [1]

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


GuAV   (2004-06-22 23:26:00) [2]


> я пробовал чреез IHTMLFramesCollection2 но тама у меня получается
> только получить количество фреймов, а вот загружать в них
> данные не полычается

Как пытаешься?


Alek   (2004-06-22 17:00:00) [3]

я пробовал чреез IHTMLFramesCollection2 но тама у меня получается только получить количество фреймов, а вот загружать в них данные не полычается


GuAV   (2004-06-22 16:20:00) [4]

WebBrowser1.OleObject.Document.frames.item(i).navigate(' http://yandex.ru');
У меня это не работает.

мож IHTMLFramesCollection2? тока он не чего-то не объявлен...


Alek   (2004-06-22 15:39:00) [5]

тож не выходит.
Мож нужно какиенибудь простые и маленькие странички так пихать?


Alek   (2004-06-22 15:28:00) [6]

щас попробую :)


GuAV   (2004-06-22 15:25:00) [7]

[4] - тоже не работает?


Alek   (2004-06-22 15:21:00) [8]

в s загружается обычная страница.

str:=TStringList.Create;
str.LoadFromFile(ExtractFilePath(Application.ExeName)+'html/shab.html');

s:='about:';
for i:=0 to str.count-1 do
s:=s+Trim(str.strings[i]);

затем
Form2.WebBrowser1.Navigate(s); и ничего не отображается.
а вот так вот работает
Form2.WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'html/shab.html');


GuAV   (2004-06-22 15:14:00) [9]

Нашел где я это взял вот оригинал: http://www.delphimaster.ru/articles/twebbrowser.html
procedure ShowHTML(const HTML: string; AWebBrowser: TWebBrowser);
var HtmlText: OLEVariant;
begin
 HtmlText := 'about:'+HTML;
 AWebBrowser.Navigate2(HtmlText);
end;


GuAV   (2004-06-22 15:09:00) [10]

Ну... незнаю.. наверное в s таки что-то не так... выдеди s в memo и посмотри...


Alek   (2004-06-22 14:45:00) [11]

s:='about://'+s;
Form2.WebBrowser1.Navigate(s)

в s хтмл страница. Так не загружается, а вот когда я пишу сразу
Form2.WebBrowser1.Navigate('about://<html><body><h1>sagf</h1></body></html>');

все работает.

Почему так??


GuAV   (2004-06-22 01:03:00) [12]

WebBrowser1.OleObject.Document.frames.item(i).navigate('about://'+HTMLString);// this is your html string


Наверх

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