Главная страница
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.02 c
14-76581
Alex-21
2003-02-26 18:48
2003.03.24
Как заменить в ListBoxe имя?


3-76361
BigVova
2003-02-28 12:22
2003.03.24
Размер таблицы в Paradox


9-76251
Джастер
2002-10-26 21:39
2003.03.24
D3D вместо DirectDraw


1-76373
Alex Slater
2003-03-11 12:14
2003.03.24
ListBox


1-76380
SONY
2003-03-13 09:30
2003.03.24
Пример ZoomWindow или просто Zoom