AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [TWebbrowser] Frameset laden
Thema durchsuchen
Ansicht
Themen-Optionen

[TWebbrowser] Frameset laden

Ein Thema von Jomo · begonnen am 10. Feb 2004 · letzter Beitrag vom 11. Feb 2004
Antwort Antwort
Benutzerbild von Jomo
Jomo

Registriert seit: 10. Feb 2004
Ort: Hamburg
5 Beiträge
 
Delphi 5 Standard
 
#1

[TWebbrowser] Frameset laden

  Alt 10. Feb 2004, 14:35
Aloha,

ich habe ein kleines Problem! Und zwar habe ich eine Liste
von URLs,die ich in den TWebbrowser laden möchte:


http://cmore/browser/frameset.html
2
http://cmore/browser/verweise.html
links
http://cmore/browser/titel.html
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

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?
  Mit Zitat antworten Zitat
chris

Registriert seit: 24. Mai 2003
Ort: Düsseldorf
196 Beiträge
 
Delphi 2009 Professional
 
#2

Re: [TWebbrowser] Frameset laden

  Alt 10. Feb 2004, 18:03
hi,

so wie ich deinen code sehe sollte am ende der ausführung http://cmore/browser/titel.html im twebbrowser erscheinen, so hast du es programmiert.

wenn du das frameset laden willst brauchst du nur nach http://cmore/browser/frameset.html zu navigieren, die frames werden doch automatisch von frameset.html geladen.

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]
Chris
D2009.4 | Vista SP2 x32
  Mit Zitat antworten Zitat
Benutzerbild von Jomo
Jomo

Registriert seit: 10. Feb 2004
Ort: Hamburg
5 Beiträge
 
Delphi 5 Standard
 
#3

Re: [TWebbrowser] Frameset laden

  Alt 11. Feb 2004, 09:38
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 www.Aldi.de. Im Hintergrund lasse ich einen Timer
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
http://www.aldi.de/ #TWebbrowser.URL
0 # Anzahl Frames
----------------------------------------------------------


BSP eines Datensatzes mit Frames:
----------------------------------------------------------
1644 # mausX
255 # mausY
http://germany.aldi.com/cms/ #TWebbrowser.URL
5 # Anzahl Frames
http://germany.aldi.com/cms/frameset/blank.html #Frame 1
top # FrameName 1
0 # Anzahl Subframes in Frame 1
http://germany.aldi.com/cms/frameset/blank_1.html # Frame 2
left
0
http://germany.aldi.com/cms/home.html # Frame 3
content
0
http://germany.aldi.com/cms/frameset/blank_3.html # Frame 4
right
0
http://germany.aldi.com/cms/frameset/blank_2.html # Frame 5
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

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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:51 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