![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с фреймами в веббраузере
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