![]() |
[TWebbrowser] Frameset laden
Aloha,
ich habe ein kleines Problem! Und zwar habe ich eine Liste von URLs,die ich in den TWebbrowser laden möchte: ![]() 2 ![]() links ![]() rechts Zur Erklärung: Zeile 1: die URL, die in der Adresszeile angezeigt wird. (hier frameset.html) Zeile 2: Die Anzahl Frames Zeile 3: Frame(0) URL Zeile 4: Frame(0) Name Zeile 5: Frame(1) URL Zeile 6: Frame(1) Name Mein Progie macht das so: (oder auch nicht..)
Delphi-Quellcode:
WebBrowser1.Navigate(URL aus Zeile 1);
document := WebBrowser1.document as IHTMLDocument2; if (strtoint(Anzahl Frames) > 1) then for i:=0 to (strtoint(frame_anz)-1) do begin WebBrowser1.Navigate(FrameURL_i , flag , FrameName_i); end; end; Das Problem dabei, er lädt die Datei "frameset.html" nicht,so das die beiden anderen Navigate Anweisungen auch nicht funzen :cry: Hat jemand einen Tip? Oder gar einen ganz anderen Ansatz? Dave PS: ich hatte auch noch eine andere Alternative, da habe ich aber immer den Fehler "Member nicht gefunden" bekommen - sagt euch das etwas? |
Re: [TWebbrowser] Frameset laden
hi,
so wie ich deinen code sehe sollte am ende der ausführung ![]() wenn du das frameset laden willst brauchst du nur nach ![]() ich verstehe nicht ganz was du vor hast - alle frames in windeseile durchladen? [edit]mal ganz davon abgesehen das 'http://cmore/browser/...' nicht klappen kann[/edit] |
Re: [TWebbrowser] Frameset laden
Moin,
okay eine kleineerläuterung hilft wohl ;) Also es geht um ein Websurf-Protokoll-Tool. Ein User surft mit dem TWebbrowser über eine beliebige Seite, zum Beispiel ![]() mitlaufen, der alle 100 ms die Mauskoordinaten und die angezeigte Seite,inklusive Frames und SubFrames und derren Subframes wegspeichert. BSP eines Datensatzes ohne Frames: ---------------------------------------------------------- 560 # mausX 370 # mausY ![]() 0 # Anzahl Frames ---------------------------------------------------------- BSP eines Datensatzes mit Frames: ---------------------------------------------------------- 1644 # mausX 255 # mausY ![]() 5 # Anzahl Frames ![]() top # FrameName 1 0 # Anzahl Subframes in Frame 1 ![]() left 0 ![]() content 0 ![]() right 0 ![]() bottom 0 ---------------------------------------------------------- Das Wegspeichern ist easy-going 8) Dann kommt der eigentliche Spass, um zu sehen wo lang er gesurft ist, brauche ich halt das Tool. Ich bastel mir einen Form mit TWebbrowser und lese alle 100ms die einen Datensatz ein und mache dann: 1. Setzen der Maus (easy) 2. Laden der TWebbrowser.URL, sofern nicht schon geladen 3. Laden der Frames (sofern nicht schon geladen) 4. Laden der Subframes (sofern nicht schon geladen) Am Ende kann man sich halt das Surfverhalten des Users anschauen als eine Art Video! Geht auch gut, aber sobald Subframes im Spiel sind funzt es nicht mehr :wall: Hast du eine bessere Lösung oder mache ich da strukturell einen Fehler? Hier die Timer Routine (Auszug)
Delphi-Quellcode:
doki,dok,flag,ole_index : OleVariant; Readln(F, x); Readln(F, y); Readln(F, doc); Readln(F, MouseState); Readln(F, frame_anz); //Cursor setzten //Webseite laden if (doc <> old_doc) then begin doki := doc; WebBrowser1.Navigate2(doki); old_doc := doc; end; document := WebBrowser1.document as IHTMLDocument2; if (strtoint(frame_anz) >= 1) then // Seite hat Frames for i:=0 to (strtoint(frame_anz)-1) do begin ole_index := i; Readln(F, frame); Readln(F, Frame_name); Readln(F, frame_in_frame_anz); frame_n := frame_name; doki2 := frame; // Frames laden WebBrowser1.Navigate2(doki2,flag,frame_n); //SubFrames laden for j:=0 to (strtoint(frame_in_frame_anz)-1) do begin ole_index2 := j; Readln(F,frame_in_frame_url); Readln(F, Frame_name); frame_n := Frame_name; doki2 := frame_in_frame_url; WebBrowser1.Navigate2(doki2,flag,frame_n); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 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