Вниз
Скачать: 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.036 c
3-76292
studentas
2003-03-04 12:43
2003.03.24
SQL?


1-76460
dr.Karter
2003-03-12 11:01
2003.03.24
Интересующий вопрос


4-76736
xZero
2003-01-28 01:11
2003.03.24
Надо поймать клик


1-76490
Вадим
2003-03-12 15:02
2003.03.24
Ничего не понимаю или глюки с буфером обмена


4-76718
CAD
2003-01-28 19:43
2003.03.24
Tlistview (Help plz!)




   Наверх