Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Twebbrower Link in Standard Browser anzeigen

  Alt 24. Mär 2021, 22:44
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.
Michael Gasser

Geändert von Michael II (24. Mär 2021 um 22:49 Uhr)
  Mit Zitat antworten Zitat