![]() |
Andere Seite im IE aufrufen...
Hi,
ich habe den Quelltext einer HTML Seite aus dem IE ausgelesen ( ![]() Nun habe ich einige Quelltext Teile ausgetauscht und den Quelltext auf Festplatte gespeichert als HTML. Nun soll der IE diese abgespeicherte Seite aufrufen. Diese soll aber im gleichen IE Fenster geöffnet werden. thx hibbert |
Re: Andere Seite im IE aufrufen...
Hi!
In dem Quelltext von Swissdelphicenter wird WB.LocationURL verwendet. Vielleicht lässt sich der die Adresse der lokalen Datei zuweisen und er lädt sie dann? Ciao Frederic |
Re: Andere Seite im IE aufrufen...
Zitat:
|
Re: Andere Seite im IE aufrufen...
TWebbrowser.Navigate2(url: String);
Ist F1 kaputt? ;) |
Re: Andere Seite im IE aufrufen...
F1 ist nicht kaputt....
Code:
wb.Navigate2(getcurrentdir+'\test.htm');
Zitat:
Zitat:
Ich lese ja den Quelltext aus einem IE fenster aus und nicht aus meiner Anwendung, also muss ich ja dem IE sagen, dass er dorthin navigieren soll, doch das funzt net so wie es soll.... hibbert |
Re: Andere Seite im IE aufrufen...
Delphi-Quellcode:
Das macht TWebBrowser bei einem Navigate2. "DefaultInterface" ist ein IWebbrowser2, und EmptyParam ist in der Unit "OleCtrls" deklariert. Also musst du nurnoch deine URL in einen OleVariant bekommen, und kannst via Interface navigieren.
procedure TWebBrowser.Navigate2(var URL: OleVariant);
begin DefaultInterface.Navigate2(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam); end; Zu beachten wäre evtl. noch, dass lokale Zugriffe als URL meiste diese Form haben: "file:///c/verzeichnis/datei.ext", und nicht "c:\verzeichnis\datei.ext", wobei ich glaube dass der IE mit beidem klar kommt. Ein QT könnte also so aussehen (vorausgesetzt das Interface ist bereits abgeholt):
Delphi-Quellcode:
Und dabei habe ich noch nie mit OleVariants gearbeitet, noch nie mit Interfaces oder gar mit einem externen IE-Fenster. Das war jetzt alles nur Recherche via F1 + VCL/RTL-Sourcen wühlen... ;)
uses OleCtrls;
. . . var url: OleVariant; . . url := 'file:///c/verzeichnis/datei.ext'; WebBrowserInterface.Navigate2(url, EmptyParam, EmptyParam, EmptyParam, EmptyParam); |
Re: Andere Seite im IE aufrufen...
ok, vielen dank, doch nun bleibt noch ein kleines Problem:
wenn ich nun die Procedure ausführe, werden alle offenen Browser angesprochen, auch mein Firefox. Kann ich das irgnedwie auf ein Spezielles Fenster anwenden ? thx hibbert |
Re: Andere Seite im IE aufrufen...
Mit dem Code der schweizer Kollegen holst du dir auch den HTML-Text aller offenen Browserinstanzen ab. Steht sogar im Titel ;).
Und in selbigem sieht man auch wie man durch alle durchgeht, und einzeln ansprechen kann. In einer ähnlichen Schleife kannst du dir dann das benötigte raussuchen. Als Suchkriterium könnte man z.B. die aktuelle URL nehmen. Die speicherst du dir dann beim Abholen der HTML-Texte für jede Instanz, und kannst dann über einen Vergleich wieder herausfinden welche der Instanzen die benötigte ist. Okay, dann nehmen wir das MSDN noch zur Hand: IWebBrowser2.get_LocationURL -> Damit bekommst du die aktuelle URL der aktuellen Browserinstanz raus. Ist allerdings alles völlig ungetestet, und ich hab damit wie gesagt auch noch nix gemacht. Von daher keine 100%-Garantie ;). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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