Noch einmal kurz:
Die Webseite L, welche du in deiner App mit TWebBrowser anzeigen lässt enthält Links.
Du möchtest nun, dass alle oder eventuell nur ein Teil dieser Links im Standardbrowser/Wunschbrowser S geöffnet werden.
Wenn du jene Links in L, welche du im Browser S öffnen lassen willst im
HTML Code
mit target="_blank" versiehst, dann löst TWebBrowser beim Klick auf einen dieser
target="_blank" Links das Ereignis OnNewWindow3 aus. Was du tun musst ist nicht viel:
Delphi-Quellcode:
procedure TsjOnlineForm.WebBrowser1NewWindow3(ASender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal;
const bstrUrlContext, bstrUrl: WideString);
begiB
OeffneMitStandardBrowser( bstrUrl );
cancel := true;
end;
(Nebenbei: Links auf deiner Seite L
ohne target="_blank" werden in deinem TWebBrowser in der App geöffnet. Ich nutze dies zum Beispiel fürs Anzeigen weiterer Info-/Linkseiten direkt in der App.)
(Es ist dabei völlig egal was Firefox, Chrome, Edge,.... mit target="_blank" anstellen. Es geht hier ausschliesslich um deine Linkseite L, welche in deinem TWebBrowser angezeigt wird und nur darum, dass TWebBrowser bei Links mit target="_blank" OnNewWindow3 auslöst.)
Wenn du die
HTML Seite L von Hand erstellst, dann wählst du in deinem
HTML-Tool für jene Links, welche extern im Standardbrowser angezeigt werden sollen als Ziel "Neues Fenster". Wenn du die Linkseite via Software erstellst, musst du den
HTML-Link-Code durch target="_blank" ergänzen.
Es führen natürlich auch andere Wege nach Rom.