Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.18;
Скачать: CL | DM;

Вниз

TWebBrowser   Найти похожие ветки 

 
Vilux   (2002-07-09 01:17) [0]

Имеется TWebBrowser и страничка в нем с несколькими фреймами, так вот вопрос. Как получить доступ к html-коду каждого фрейма?


 
int64 ©   (2002-07-09 04:22) [1]

Документ браузера это OleContainer, на котором могут располагаться другие браузеры (фреймы).
Слудующий пример показывает, как достучаться до фреймов.

Функция GetFrame ищет фрейм с именем FrameName.

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate("c:\MultiFrames.htm");
end;

function GetFrame(WB: IWebbrowser2; FrameName: string): IWebbrowser2;
var
OleContainer: IOleContainer;
enum: IEnumUnknown;
TempUnk: IUnknown;
Fetched: PLongint;
FrameNo: integer;
Coll: HTMLElementCollection;
begin
With WB do
begin
while ReadyState <> READYSTATE_COMPLETE do
Forms.Application.ProcessMessages;
if Assigned(document) then
begin
Coll:=HTMLElementCollection(HTMLDocument(Document).All.Tags("FRAME"));
for FrameNo:=0 to Coll.length-1 do
if HTMLFrameElement(Coll.item(FrameNo,varEmpty)).name=FrameName then break;
Fetched := nil;
OleContainer := Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
Enum.Skip(FrameNo);
Enum.Next(1, TempUnk, Fetched);
Result := TempUnk as IWebbrowser2;
end else Result := nil;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var W: IWebbrowser2;
begin
W:=GetFrame(WebBrowser1.DefaultInterface, "destframe");
if assigned(W) then
HTMLDocument(W.Document).body.innerHTML:= "<h1>Hi, World!</h1>";
end;


Разумеется, следует учитывать, что фреймы бывают и вложенными.

Дерзай.



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

Текущий архив: 2002.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
3-57954
Weare
2002-06-21 17:27
2002.07.18
Задолбали индексы в Paradox e


3-58005
Tutov Roman
2002-06-26 14:49
2002.07.18
При ччитывания поля таблицы возникает ошибка . Почему ?


3-58026
Туплю
2002-06-27 11:33
2002.07.18
Есть таблица Interbase должности...


1-58070
Romeo
2002-07-08 09:40
2002.07.18
MMX - ные регистры


3-57948
Teas
2002-06-25 23:27
2002.07.18
Помогите пожалуйста начинающему