Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Hilfe, TWebbrowser links funktionieren nicht mehr! (https://www.delphipraxis.net/89784-hilfe-twebbrowser-links-funktionieren-nicht-mehr.html)

Bora4d 5. Apr 2007 16:42


Hilfe, TWebbrowser links funktionieren nicht mehr!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
Ich benutze in vielen meinen Programmen TWebbrowser als Oberfläche. Dafür erstelle ich dynamische Internetseiten im Programm lade in den Webbrowser, danach fange ich die Links ab. Anhand der Links reagiert mein Programm und erstellt neue seiten und ladet wieder. Aber bei Windoof XP-Serv. Pack 2, Vista oder WinXP-Service Pack 1 mit diesem Sicherheitsupdate (winsecupd-IE6.0sp1-KB889293-Windows-2000-XP-x86-DEU.exe) funktioniert Webbrowser nicht mehr richtig. D.h. Ich kann die LInks nicht mehr abfangen. Laden funktioniert aber wenn man auf einen Link klickt passiert nichts.

Das ist die Funktion um Browserklicks abzufangen. Bei aktuellen WindowsXP-Versionen wird das nicht mehr aufgerufen. Kennt jemand eine Lösung?

procedure TFormMain.WBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
Cancel:=wordbool(1); //Webbrowser soll nicht selber navigieren
wbLoadHTML(WBrowser1, CreateHtmDoc(URL)); //hier wird manuell navigiert
end;

Ich habe ein Beispielprogramm hinzugefügt. Es werden 2 Links angezeigt. Wenn man auf ein Link klickt wird angezeigt: "Sie haben a/b gewählt.".

Vielen Dank für eure Antworten.

Bora4d 7. Apr 2007 15:44

Re: Hilfe, TWebbrowser links funktionieren nicht mehr!
 
Hat keine eine Lösung?
Anders gefragt wie macht ihr es, wenn ihr im Programm eine Seite erstellt, in den Webbrowser ladet und auf klicks reagiert?

marabu 7. Apr 2007 20:36

Re: Hilfe, TWebbrowser links funktionieren nicht mehr!
 
Hallo,

du verwendest implizit das file protocol in deinem BASE tag. Nimm http://localhost und du entkommst den seit IE6 SP1 zunehmend verschärften Sicherheitsmaßnahmen.

Eine Alternative zu deiner Vorgehensweise wäre der Einsatz eines Indy HTTP Servers in deinem Programm, der auf einem konfigurierbaren Port lauscht. Der Code sieht dann etwas sauberer aus und du kannst dein Programm später leicht zu einer Web-Applikation umbauen. (Nur ein Denkanstoß)

Frohe Ostern

Bora4d 7. Apr 2007 22:29

Re: Hilfe, TWebbrowser links funktionieren nicht mehr!
 
Problem gelöst das Programm funktioniert. :spin2:

Marabu vielen dank! Du hast mich gerettet. Nach dem ich im Program das protocol geändert habe funktioniert es. So einfach troztdem konnte ich nicht sehen! :wall:
Das ist die Lösung:
Delphi-Quellcode:
<base href="http://localhost/">
EDIT:
Zu früh gefreut. Die Links funktionieren zwar aber leider fehlen die Bilder, weil sie gefunden werden können. Eigentlich mußte es doch mit meinen Weg (Ohne internen Server, siehe Beispiel oben) gehen Outlook Express macht es ja auch ähnlich. Vielleicht versuche ich mal absolute Pfade für die Bilder einzubinden.
Fall jemand einen einfacheren Weg kennt wäre ich dankbar.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz