Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-76630
Picup
2003-03-05 21:16
2003.03.24
Кому какой delphi кому больше нравится


14-76604
Kolesya
2003-03-07 12:59
2003.03.24
Кто пользуется INDY. Кому нетрудно бросте примерчик, плиз


8-76531
Daf
2002-12-15 11:46
2003.03.24
Как проиграть mid из exe-шника?


3-76340
Andy Eremin
2003-03-06 07:09
2003.03.24
SQL UPDATE


1-76467
reticon
2003-03-11 23:01
2003.03.24
такой вот нехитрый вопросик...




   Наверх