webgadget mit frames quelltext auslesen ?
webgadget mit frames quelltext auslesen ?
hi,
also ich habe ien webgadget in den eine website ist die aus 2 frames besteht.
nun möchte ich den quelltext aus frame 1 und 2 in ein editgadget einfügen.
hat da einer nen plan wie man das anstelle kann ?
bye bye
bossi
also ich habe ien webgadget in den eine website ist die aus 2 frames besteht.
nun möchte ich den quelltext aus frame 1 und 2 in ein editgadget einfügen.
hat da einer nen plan wie man das anstelle kann ?
bye bye
bossi
Re: webgadget mit frames quelltext auslesen ?
im Quelltext des Framesets steht, aus welchen URLs die Frames nachgeladen werden, siehe Beispiel, die musst Du dann mit URLDownloadToFile_ (so oder so ähnlich hiess die API-Funktion) separat laden und in Dein EditorGadget schaufelnbossi hat geschrieben:hi,
also ich habe ien webgadget in den eine website ist die aus 2 frames besteht.
nun möchte ich den quelltext aus frame 1 und 2 in ein editgadget einfügen.
hat da einer nen plan wie man das anstelle kann ?
Code: Alles auswählen
<html>
<head>
<title>Text des universellen Titels</title>
</head>
<frameset cols="250,*">
<frame src="verweise.htm" name="Navigation">
<frame src="startseite.htm" name="Daten">
<noframes>
Ihr Browser kann diese Seite leider nicht anzeigen!
</noframes>
</frameset>
</html
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!
1. URLDownloadToFile_() - Website auf deinem PC speichern
2. Dann eine Prozedur schreiben, die aus der Website die Sourcen der beiden Frames "extrahiert"
2.1Du suchst in dem File nach dieser Zeile (Hier ist das nur ein Grundgerüst, dann musst du halt nach "<frame " suchen) und speicherst sie in einer Variable.
2.2 Aus der Variable die Source extrahieren (hier:"purearea.net")
3. URLDownloadToFile() - Das File von der extrahierten Quelle auf dem PC Speichern
Jetzt hast du die Datei auf deinem PC und der Rest ist ja nicht schwer. Es kann bloß vorkommen, dass eine relative Quelle angegeben wird. (zB. source="home.html"). Dass musst du dann noch unterscheiden können, damit du vor der relativen Source noch die Domain packen kannst. Verstanden?
mfG
Basti
2. Dann eine Prozedur schreiben, die aus der Website die Sourcen der beiden Frames "extrahiert"
2.1
Code: Alles auswählen
<frame src="purearea.net">
2.2 Aus der Variable die Source extrahieren (hier:"purearea.net")
3. URLDownloadToFile() - Das File von der extrahierten Quelle auf dem PC Speichern
Jetzt hast du die Datei auf deinem PC und der Rest ist ja nicht schwer. Es kann bloß vorkommen, dass eine relative Quelle angegeben wird. (zB. source="home.html"). Dass musst du dann noch unterscheiden können, damit du vor der relativen Source noch die Domain packen kannst. Verstanden?

mfG
Basti
enjoy life... while you can!
somit wird der frameteil 2x geladen und möchte ich nicht, bzw geht nicht.
seite in das webgadget laden http:///xxx.xx
<frame src="verweis1.htm" name="frame1">
<frame src="verweis2.htm" name="frame2">
so wird das zb.b frame1 zum 2ten mal gelden "InternetReadFile_(hURL,@Buffer, Len(Buffer), @Bytes)"
da musste es noch eine andere möglichkeit geben, das es direkt aus nen webgadget kommt.
z.b. aus ein speicherbereich ? aber damit kenn ich mich nicht so genau aus.
gruß
bossi
seite in das webgadget laden http:///xxx.xx
<frame src="verweis1.htm" name="frame1">
<frame src="verweis2.htm" name="frame2">
so wird das zb.b frame1 zum 2ten mal gelden "InternetReadFile_(hURL,@Buffer, Len(Buffer), @Bytes)"
da musste es noch eine andere möglichkeit geben, das es direkt aus nen webgadget kommt.
z.b. aus ein speicherbereich ? aber damit kenn ich mich nicht so genau aus.
gruß
bossi
Warum so sparsam? Schottische Vorfahren?bossi hat geschrieben:somit wird der frameteil 2x geladen und möchte ich nicht, bzw geht nicht.
...da musste es noch eine andere möglichkeit geben, das es direkt aus nen webgadget kommt.
z.b. aus ein speicherbereich ? aber damit kenn ich mich nicht so genau aus.

Das Webgadget kennt eigentlich nur die URL und den Output der Rendering Engine, nicht den HTML-Quelltext. Die HTML-Dateien könnten noch im Browser Cache rumliegen, aber darauf kannst Du Dich nicht verlassen.
Alternative: Die Frameset-URL in eine Datei holen. Frame-URLs auslesen. Die Frames ebenfalls in Dateien abspeichern. Die Frameset-Seite so anpassen, dass die Frame-URLs auf die lokalen Dateien verweisen. Dann erst Frameset-Datei in Webgadget anzeigen und die Frame-Dateien ins Editor-Gadget laden.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!
einfach wget zusammen mit dem programm weitergeben
www.cybershade.us/winwget/
und wget mit runprogramm benutzen.
wget steht unter der gpl, kann man also kostenlos mitgeben, dann spart man sich basteleien mit der winapi und URLDownloadToFile_().
EDIT:
oh, ich glaube ich habe nicht richtig verstanden was du machen willst... wenn du ein frameset aus dem internet runterladen willst währe das eine möglichkeit.
www.cybershade.us/winwget/
und wget mit runprogramm benutzen.
wget steht unter der gpl, kann man also kostenlos mitgeben, dann spart man sich basteleien mit der winapi und URLDownloadToFile_().
EDIT:
oh, ich glaube ich habe nicht richtig verstanden was du machen willst... wenn du ein frameset aus dem internet runterladen willst währe das eine möglichkeit.
sorry, das ist nicht das was ich meine
dieses webgadget muss doch mit sein inahlt im speicher liegen
bäuchte man nur die speicheradresse und länge wissen um den inhalt zu lesen.
es geht mir um ein paidmailer der im oberen frame ein ein text stehen hat in dem ich die aufenhaltszeit auslesen möchte.
somit weis mein programm wann es die nächste seite aufrufen kann.

dieses webgadget muss doch mit sein inahlt im speicher liegen

bäuchte man nur die speicheradresse und länge wissen um den inhalt zu lesen.
es geht mir um ein paidmailer der im oberen frame ein ein text stehen hat in dem ich die aufenhaltszeit auslesen möchte.
somit weis mein programm wann es die nächste seite aufrufen kann.
Wie ich bereits sagte, das Webgadget kennt die URL und die gerenderte Seite, aber nicht den HTML-Quellcode! D.h. der HTML-Quellcode steht somit nicht im Speicher.bossi hat geschrieben:sorry, das ist nicht das was ich meine![]()
dieses webgadget muss doch mit sein inahlt im speicher liegen
bäuchte man nur die speicheradresse und länge wissen um den inhalt zu lesen.
es geht mir um ein paidmailer der im oberen frame ein ein text stehen hat in dem ich die aufenhaltszeit auslesen möchte.
somit weis mein programm wann es die nächste seite aufrufen kann.
Noch ne Alternative: lass einen http-proxy-Thread mitlaufen, über den sich das Webgadget versorgt und der die Dateien mitschneidet.
Das mit dem Paidmailer (wassollndassein?) und der Zeit im Frame und dem nächsten Seitenaufruf hab ich leider nicht kapiert.
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!