![]() |
AW: Twebbrower Link in Standard Browser anzeigen
TWebBrowser.OnNewWindow3 geht auch gut, wenn du nur Links, welche ein neues Browserfenster öffnen sollen in einem beliebigen anderen Browser öffnen lassen willst.
|
AW: Twebbrower Link in Standard Browser anzeigen
Zitat:
|
AW: Twebbrower Link in Standard Browser anzeigen
Dann musst Du halt anhand der Url entscheiden, ob etwas im TWebBrowser oder im externen Browser angezeigt werden soll.
Oder Dir im Programm 'nen Schalter setzen, damit die Routine entscheiden kann, ob eine Seite aus Deinem Programm heraus im eigenen TWebBrowser angezeigt werden soll, oder ob ein Klick im TWebBrowser erfolgte und daher ein Link im externen Browser angezeigt werden soll. |
AW: Twebbrower Link in Standard Browser anzeigen
Laut #1 zeigst du Links in einem TWebBrowser W an. Falls du die Linkseite selber erstellst:
Wenn du das Ereignis aus #11 verwendest, kannst du via HTML steuern ob ein vom User geklickter Link wieder in W oder in einem externen Browser angezeigt werden soll. Enthält der Link target="_blank" => Ereignis aus #11 wird ausgelöst => Wunschbrowser starten ohne target="_blank" wird der Link in W angezeigt. |
AW: Twebbrower Link in Standard Browser anzeigen
Zitat:
|
AW: Twebbrower Link in Standard Browser anzeigen
Zitat:
Ein Link mit target="_blank" im FireFox geklickt, wird immer ein neues Fenster des FireFox öffnen, auch wenn IE, Edge, Chrome, Opera, ... als Standardbrowser definiert sein sollten. Analog gilt das auch für die anderen Browser. TWebBrowser ist nun mal der IE und deshalb führt target="_blank" dazu, dass ein Link in einem neuen Fenster des IEs geöffnet wird. Zitat:
Wie rufst Du denn Deine selbserstellten HTML-Seiten im TWebBrowser auf? Quelltext und Beispiellink, Dateinamen, ... Wie sehen Deine bisherigen Versuche für das Ereignis BeforeNavigate2 des TWebBrowser aus? Beispiel! Wenn wir dazu mal etwas tiefergehende Informationen erhalten würden, wäre eventuell sogar eine konkrete Hilfestellung möglich. Momentan ist da eine Gleichung mit 'ner unbekannten Anzahl von Unbekannten. Das ist dann eher schwierig zu lösen. |
AW: Twebbrower Link in Standard Browser anzeigen
Zitat:
Hast du das was du schreibst (wie ich) verifiziert? Oder schreibst du einfach nur so? |
AW: Twebbrower Link in Standard Browser anzeigen
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:
(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.)
procedure TsjOnlineForm.WebBrowser1NewWindow3(ASender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal; const bstrUrlContext, bstrUrl: WideString); begiB OeffneMitStandardBrowser( bstrUrl ); cancel := true; end; (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. |
AW: Twebbrower Link in Standard Browser anzeigen
Zitat:
|
AW: Twebbrower Link in Standard Browser anzeigen
Wahnsinn, doch so einfach. Merkwürdig warum es Embarcadero das nicht hinbekommt, obwohl es seit mindestens 2015 immer wieder gemeldet wird.
![]() (...) ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz