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

Вниз

Загрузка документа по ссылке   Найти похожие ветки 

 
Max2002   (2003-02-03 13:16) [0]

Уважаемые мастера Delphi! Не поможете ли решить следующую проблему: имеется компонент TWebBrowser, содержащий достаточно большой HTML-документ (порядка 10Mb). Внутри документа имеются внутренние ссылки. Вопрос: можно ли используя методы TWebBrowser застваить его переходить к конкретному разделу, не осуществляя повторную загрузку документа? Если просто WebBrowser1.Navigate(...), то документ загружается заново, и после этого происходит переход на ссылку - скорость, естественно, крайне медленная...:(

с уважением, Максим


 
Smithson ©   (2003-02-03 13:30) [1]

100 Mb HTML ?!!!!!


 
int64 ©   (2003-02-03 22:45) [2]

procedure TForm1.MyNavigate(AnchorName: string);
var Doc: IHTMLDocument2;
Coll : IHTMLElementCollection;
i: integer;
begin
Doc:= IHTMLDocument2(WebBrowser1.Document);
if assigned(Doc) then
begin
Coll:=IHTMLElementCollection(Doc.anchors);
for i:=0 to Coll.length-1 do
begin
if (Coll.item(i,varEmpty) as IHTMLAnchorElement).name=AnchorName then
(Coll.item(i,varEmpty) as IHTMLElement).scrollIntoView(True);
end;
end;
end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if pos("#", url)<>0 then
begin
Cancel:= True;
url:= Copy(url, pos("#", url)+1, length(url)-pos("#", url));
MyNavigate(url);
end;
end;


Собственно, решение лобовое:
Если в адресе стоит символ "#", то считается, что после этого символа идёт имя якоря.
Поэтому, условия и проверки сам вставь.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
9-76249
Константин
2002-10-25 11:32
2003.03.24
Текстовой отладчик для Delphi


9-76246
Федя
2002-10-22 11:24
2003.03.24
Как вообще сделать что-нибудь объемное в Delphi


1-76434
mmmh
2003-03-07 23:40
2003.03.24
Подскажите как правильно считать время: есть 3 лабела


1-76475
AlLive
2003-03-12 07:38
2003.03.24
Есть ли подстрока в строке?


1-76498
Kreporator
2003-03-09 23:34
2003.03.24
Отбирание слов из строки