Topic: TWebBrowser

нужно перехватить ссылку  (target="_blank")

Re: TWebBrowser

Пожалуйста, опишите подробней, что значит перехватить?

Dmitry.

3 (edited by sibprogsistem 2019-11-05 13:10:29)

Re: TWebBrowser

хочу в приложение добавить браузер, но ссылки  типа (target="_blank") открываются в новом окне ..
я думал перехватывать в событие OnNewWindow2   и возвращать адрес в browser1

Re: TWebBrowser

К сожалению реализовать это в MVD сложно, могу только сделать так, чтобы нельзя было открывать ссылку в новом окне вообще, при это узнать URL не получиться.

Dmitry.

Re: TWebBrowser

DriveSoft wrote:

К сожалению реализовать это в MVD сложно, могу только сделать так, чтобы нельзя было открывать ссылку в новом окне вообще, при это узнать URL не получиться.

согласен и на это.

Re: TWebBrowser

Скачайте пожалуйста последнюю бета версию
https://www.dropbox.com/s/6079b1qerk86k … a.zip?dl=0


.....
    Web.OnBeforeNavigate2 := @WebBrowserBeforeNavigate2;
    Web.OnNewWindow2 := @WebBrowser1NewWindow2;
end;


procedure WebBrowserBeforeNavigate2(ASender: TObject; const pDisp: Variant; const URL, Flags, TargetFrameName, PostData, Headers: Variant; var Cancel: Boolean);
begin // событие позволяет узнать URL открываемой страницы и при необходимости запретить ее открытие (Cancel := True;)
    ShowMessage('Before: '+URL);
end;

procedure WebBrowser1NewWindow2(ASender: TObject; var ppDisp: Variant; var Cancel: Boolean);
begin // событие возникает при открытии ссылки в новом окне, Cancel := True; блокирует открытие
    Cancel := True;
end;
Dmitry.

Re: TWebBrowser

спасибо!!! большое спасибо!