Entwickler-Ecke
Internet / Netzwerk - Online Tool
Die Brotmafia - So 25.12.05 00:32
Titel: Online Tool
Also, ich habe mir heute was neues vorgenommen:
Ich würde gerne ein Tool coden welches folgende Dinge kann:
Auf einer Page einloggen, wie z.B. freenet.de, mit Benutzername und Passwort.
Danach ein auf ein Feld in der Page eingehen, z.B. email schreiben. (Eventuell auch sms, *g*)
Daraufhin den Text, welchen man in ein Memo schreibt, in das Email Feld eintragen. (Oder eben Sms Feld)
--> Daraufhin auf einen der Werbebanner unten klicken, automatisch.
Von dem ganzen soll man nur mitkriegen, dass man sich einloggt, dann einen Text schreibt und auf absenden klickt, die ganzen Sachen wie auf der page einloggen, SmS Feld öffnen und Text vom Memo dort eintragen sollen automatisch passieren.
Welche Komponenten brauch ich dazu oder welche sollte ich am besten verwenden?
thnx schon im Vorraus!
Moderiert von
Christian S.: Topic aus Sonstiges verschoben am So 25.12.2005 um 14:50
F34r0fTh3D4rk - So 25.12.05 01:14
komponenten brauchst du keine, beschäftige dich ein wenig mit der windows api, dann solltest du es hinbekommen ;)
Muffin - So 25.12.05 01:28
Deine Idee hört sich nicht ganz sauber und legal an :) Willst du eMail Spam revolutionieren?
Die Brotmafia - So 25.12.05 01:53
Ne, ich will nur die Free-Sms von meinem Account nicht versenden müssen indem ich mich auf der Page einlogge und dann auf das Sms-Symbol klicke, sondern ich will einfach ein Programm machen dass sich automatich einloggt wo ich dann nur noch losschreiben muss ;)
Ach ja, der Post mit dem "beschäftige dich mit der Windows Api" hat mir leider auch nicht viel genützt, wo soll ich da anfangen? Giebts da n gutes Tutorial zur Windows Api? Die Forensuche hat's bei mir nicht gebracht, nur Sachen die mich nicht angehen...
Die Brotmafia - So 25.12.05 14:59
Jetzt hab ich als Beispiel mal den Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean; var i, j: Integer; FormItem: Variant; begin Result := False; if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then begin Exit; end; for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try if FormItem.Item(j).Name = FieldName then begin FormItem.Item(j).Value := Value; Result := True; end; except Exit; end; end; end; end; |
So, jetzt würde ich damit gerne auf z.b. freenet.de gehen und dann meinen Username u. Passwort eintragen zum e-mail abrufen, nun Probier ich das z.b. mit:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button3Click(Sender: TObject); begin FillForm(TWebBrowser; 'TestField'; 15) end; |
aber dann kommen natürlich mal wieder "incompatible" types und so, kann jemand nem kleinen neuling wie mir erklären wie ich die funktion am besten nutze oder Tipps für bessere Functions geben?
Danke!!
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
Andreas L. - So 25.12.05 15:43
| Zitat: |
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.Button3Click(Sender: TObject); begin FillForm(TWebBrowser; 'TestField'; 15) end; |
aber dann kommen natürlich mal wieder "incompatible" types und so, kann jemand nem kleinen neuling wie mir erklären wie ich die funktion am besten nutze oder Tipps für bessere Functions geben?
Danke!! |
Ich denke der Code sollte so lauten:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button3Click(Sender: TObject); begin FillForm(WebBrowser1, 'TestField', '15'); end; |
Um das ganze für freenet zu optimieren musst du erstmal herausfinden wie der elementname des emailfeldes auf freenet ist. Kannste dort im Quelltext nachsehen...
Noch als kleine Erklärung:
der erste Parameter von FillForm muss eine Webbrowser komponente sein welche auf deinen Forumlar ist. z. B. Webbrowser1, der zweite ist das Feld welches ausgefüllt werden soll, der dritte ist der Wert der ins Feld eingetragen werden soll.
Bye
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
Die Brotmafia - So 25.12.05 16:56
Also, hier wieder ein paar Fragen:
Ich hab jetzt den TWeb Browser, man sieht aber nix in dem Browser, was muss ich machen damit eine Startseite angezeigt wird und wie kann ich diese bestimmen?
Wie finde ich z.B. bei google heraus wie ich das Element zum Eintragen der Texte, die man suchen will, heist? Hab im Quelltext nachgeschaut, da steht was von "Google-Suche", soll ich dass dann da eingeben?
Quelltext
1:
| FillForm(WebBrowser1, 'Google-Suche', '15'); |
Danke!!
Andreas L. - So 25.12.05 17:21
Hi,
ein bisschen HTML-Kenntnisse solltest du schon haben wewnn du so ein Programm schreiben willst. input ist in html ein element. name ist der name also die Bezeichnung für das element. (siehe
http://www.selfhtml.de.vu).
Google.de Quellcode
1:
| <input maxlength=2048 size=55 name=q value="" title="Google-Suche"> |
Also ist der Name des Feldes bei Google.de "q". Dein Code muss also lauten:
Delphi-Quelltext
1:
| FillForm(WebBrowser1, 'q', 'Mein Such-Text'); |
So wird "Mein Such-Text" in den Eingabefeld auf der google-Seite eingetragen. Ob dieses Formular (jedes Eingabeelement das auf normalen Weg verarbeitet werden soll wird in HTML in ein Formular (<form></form>) gesetzt) auch gleich abgesendet wird, weiß ich nicht.
Zu einer Seite kommst du im Webbrowser so:
Delphi-Quelltext
1:
| webrowser1.navigate('http://www.google.de'); |
Hoffe das ich dir helfen konnte....
bye
Flohzirkus94 - So 25.12.05 17:44
:wink: wie wäre es denn ein programm das nauf die url zugreift??
Die Brotmafia - So 25.12.05 18:01
Hmmm, das geht jetzt alles, danke schonmal soweit, ihr wart mir echt eine große Hilfe!!
Eins noch:
Giebts n Befehl damit der Browser dann auf nen bestimmten Button klicken kann?
also wirklich nochmal fett danke, ihr habt mir wirklich geholfen!!
Andreas L. - So 25.12.05 18:21
Die Brotmafia hat folgendes geschrieben: |
Hmmm, das geht jetzt alles, danke schonmal soweit, ihr wart mir echt eine große Hilfe!!
Eins noch:
Giebts n Befehl damit der Browser dann auf nen bestimmten Button klicken kann?
also wirklich nochmal fett danke, ihr habt mir wirklich geholfen!! |
Von Swissdelphicenter.ch
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;
procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'SUBMIT') and (ovElements.item(i).Value = 'Recent Charges') then ovElements.item(i).Click; end; |
Org. URL:
http://www.swissdelphicenter.ch/de/showcode.php?id=1604
Die Brotmafia - So 25.12.05 18:52
Hmpf, sorry Leute dass ich so dumm bin und ihr euch irgendwann über mich aufregt, aber:
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click; |
Hab ich ausprobiert bis
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(12).click; |
Davon gieng nix, da kam immer irgend so nen "Acces Violation error" blabla...
Dann das da:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'SUBMIT') and (ovElements.item(i).Value = 'Recent Charges') then ovElements.item(i).Click; end; |
Hab ich auch ausprobiert, habs einfach so gemacht, damit's auch ja funzt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'OK!') then ovElements.item(i).Click; end; |
Wobei der Name des Buttons im Quelltext "OK!" heist....
Was mach ich falsch, wie krieg ich das teil ans laufen??
Danke!!
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt
Andreas L. - So 25.12.05 20:06
Also,
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'SUBMIT') and (ovElements.item(i).Value = 'Recent Charges') then ovElements.item(i).Click; end; |
tagname muss input heißen, type muss bei einen abschicken-button submit heißen (bei eine reset-button muss der type reset sein) und value muss diesmal nicht der name vom html-element sein sondern das value (der wert :-)) Du darfst da nicht einfach was vom quellcode weglassen. Wenn du den Google-Suche-Button drücken möchtest muss der Code also so lauten:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'SUBMIT') and (ovElements.item(i).Value = 'Google-Suche') then ovElements.item(i).Click; end; |
Google.de Quelltext
1:
| <input type=submit value="Google-Suche" name=btnG> |
Falls das nicht gehen sollte probiers mit so:
Ungetestet
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'SUBMIT') and (ovElements.item(i).name= 'btnG') then ovElements.item(i).Click; end; |
Die Brotmafia - So 25.12.05 20:23
Danke dafür!!
Die Sache ist nur leider so:
Das Teil ist ein Button!! (cry)
Quelltext
1:
| <input type="image" src="/mitglieder_center/diverses/login/frn_DE/sourcen/button_ok.gif" width="45" height="22" border="0" tabindex="3" name="OK!" alt=""> |
Es giebt keine Value...
Das ganze Teil giebts hier zu besichtigen:
http://e-tools.freenet.de/login.php3
Ich will dass er auf den Ok button drückt, im Quelltext heist er "OK!", aber das geht natürlich nicht ....
Aber danke @ Onlinehome dass du dir die Zeit für mich nimmst!
Andreas L. - So 25.12.05 20:35
Ein bisschen Eigeninitative bitte ;-)
Ich habe dir doch das alles ganz gut erklärt....
Also:
Der tagName muss weiterhin input bleiben, der type muss image sein und das value wird in name umgewandelt und mit OK! bestückt :-)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'IMAGE') and (ovElements.item(i).name= 'OK!') then ovElements.item(i).Click; end; |
Evtl. noch Groß- und Kleinschreibung von tagname, type und name beachten/ändern und fertig!
Die Brotmafia - So 25.12.05 21:10
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button5Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'IMAGE') and (ovElements.item(i).name= 'OK!') then ovElements.item(i).Click; end; |
Genauso hab ichs!
Input ist ja richtig, das ganze ist ein Image und außerdem ist der Name davon "OK!", also was mach ich da bitte noch falsch?
(Es geht nicht :((()
F34r0fTh3D4rk - So 25.12.05 21:12
versuch mal statt IMAGE -> image zu nehmen ;)
Quelltext
1:
| <input src="login.php3_dateien/button_ok.gif" tabindex="3" name="OK!" alt="" border="0" height="22" type="image" width="45"> |
input klein kannst du ja auch mal versuchen, ich weiß nicht, wiesehr das egal ist, in html ansich eigentlich schon ;)
Die Brotmafia - So 25.12.05 21:14
Hm, geht auch nicht
:(
EDIT: Es geht, jetzt gehts!!!!
Edit2: Sry, geht doch nicht, hatte nur selber auf ok geklickt :(
....
Irgendwelche Tipps noch?
F34r0fTh3D4rk - So 25.12.05 21:16
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button5Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).name= 'OK!') then ovElements.item(i).Click; end; |
und so ?
Andreas L. - So 25.12.05 21:23
Hast du mit den Webbrowser auch zuvor auf die Login-Seite von freenet navigiert?
Delphi-Quelltext
1:
| webbrowser1.navigate('http://kjhdsakjsadkh.net'); |
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
Die Brotmafia - So 25.12.05 21:30
Delphi-Quelltext
1:
| WebBrowser1.Navigate('http://e-tools.freenet.de/login.php3' ); |
Hab ich gemacht, also er ist schon auf der Seite ....
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button5Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).name= 'OK!') then ovElements.item(i).Click; end; |
Auch das geht leider nicht ....
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt
Edit: Kann mir echt keiner helfen? Es kann doch nicht so schwer sein, dem TWebBrowser zu sagen, er soll auf ein Image klicken!!
F34r0fTh3D4rk - Mo 26.12.05 12:56
anscheinend doch, versuch mal nach anderen kriterien, als dem namen auszuwählen
Die Brotmafia - Mo 26.12.05 15:36
Hm, jetzt hab ich statt name "width" eingegeben, und den dazugehörigen Wert... (45), geht aber immer noch nicht!
Irgendwas funktioniert da nicht...
Irgendwelche Lösungsansätze?
Andreas L. - Mo 26.12.05 15:45
Probier mal das:
http://www.swissdelphicenter.ch/de/showcode.php?id=1645
SwissDelphiCenter.ch Code
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72:
|
uses MSHTML;
var iDoc: IHtmlDocument2; i: integer; ov: OleVariant; iDisp: IDispatch; iColl: IHTMLElementCollection; InputImage: HTMLInputImage; begin WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc); if not Assigned(iDoc) then begin Exit; end; ov := 'INPUT'; iDisp := iDoc.all.tags(ov); if Assigned(IDisp) then begin IDisp.QueryInterface(IHTMLElementCollection, iColl); if Assigned(iColl) then begin for i := 1 to iColl.Get_length do begin iDisp := iColl.item(pred(i), 0); iDisp.QueryInterface(HTMLInputImage, InputImage); if Assigned(InputImage) then begin if InputImage.Name = 'submit' then begin InputImage.Click; end; end; end; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var i: Word; Document: IHtmlDocument2; str: string; begin for i := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do begin Document := WebBrowser1.Document as IHtmlDocument2; Str := (Document.Images.Item(i, 0) as IHTMLImgElement).Href; if Pos('submit_icon.gif', str) <> 0 then begin ((Document.Images.Item(i, 0) as IHTMLImgElement) as IHTMLElement).Click; end; end; end; |
Das hervorgehobene durch den Dateinamen des OK!-Buttons ersetzen...
Die Brotmafia - Mo 26.12.05 16:38
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| uses MSHTML;
var iDoc: IHtmlDocument2; i: integer; ov: OleVariant; iDisp: IDispatch; iColl: IHTMLElementCollection; InputImage: HTMLInputImage; begin WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc); if not Assigned(iDoc) then begin Exit; end; ov := 'INPUT'; iDisp := iDoc.all.tags(ov); if Assigned(IDisp) then begin IDisp.QueryInterface(IHTMLElementCollection, iColl); if Assigned(iColl) then begin for i := 1 to iColl.Get_length do begin iDisp := iColl.item(pred(i), 0); iDisp.QueryInterface(HTMLInputImage, InputImage); if Assigned(InputImage) then begin if InputImage.Name = 'submit' then begin InputImage.Click; end; end; end; end; end; end; |
1000 Danke @ onlinehome und die anderen, aber vor allem dir!! Hast mir echt geholfen und Geduld mit meiner Dummheit gehabt *g*
Es geht!!
So, mein nächstes prob ist jetzt, ich würde gerne dass alles in einem Schritt geschieht (Website laden, Username/Pw eingeben und auf ok klicken), das würde ja auch gehen, aber wenn ich das alles in eine einzige procedure reinmach dann versucht er natürlich auf ok zu klicken noch bevor die seite geladen ist bzw. die Daten zu früh einzugeben.
Giebts da irgend nen Befehl damit die Anwendung einfach nach dem Befehl Website laden kurz ne Sekunde wartet und dann die Daten eingiebt, wieder ne Sekunde wartet und dann auf ok klickt?
Habs schon mit sleep(1000); und so probiert, aber ist ja klar dass das nicht geht da dann ja die ganze Anwendung ne Sekunde lang pausiert...
Nochmals danke, ich hab mein Ziel schon fast erreicht ;-)
Edit: Noch n kleines Prob:
ich will den Browser zu "javascript:scroll_popup('/messages/mail_sms_send.html',480,725);"
Navigaten aber das Problem ist jetzt, dass in der adresse " ' ' " enthalten sind die Delphi irgendwie durcheinander bringen, wie kann ich das lösen?
Danke!!
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt
Andreas L. - Mo 26.12.05 17:23
Quelltext
1:
| javascript:scroll_popup('/messages/mail_sms_send.html',480,725); |
Evtl. die ' durch " ersetzen. Aber ob der Webbrowser Javascript über navigate aufrufen bzw. verarbeiten kann steht auch in den sternen. Einfach mal probieren.
Und den anderen Code mit try..finally Blöcken ausstatten. z. B.
Ungetestetes Beispiel
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| begin try webbrowser1.navigate('fdgfdg'); finally try finally end; end; end; |
Die Brotmafia - Mo 26.12.05 17:45
Omg, der Webbrowser scheint das Javascript nicht über Navigate aufrufen zu können, was mach ich jetzt?
Edit: Das mit den Try-Finally Blöcken hab ich mal anders gelöst, keine Ahnung ob das ne gute Variante war:
Hab 5 timer reingemacht, der erste zum Seite laden braucht 6 Sekunden, danach deaktivert er sich und aktiviert den nächsten Timer, und so weiter halt *g*
Alles was noch fehlt ist wie ich das dumme Sms-Fenster öffne das ja Javascipt ist...
Andreas L. - Mo 26.12.05 18:13
Mit den Timern ist zwar etwas umständlich tut aber auch seinen Zweck...
Wegen den SMS-Fensters:
Mach ein neues Formular und klopp nen webbrowser drauf. wieder das ganze anmelde zeugs (also der code von vorhin) und dann
webbrowser1.navigate(rootdir+'/messages/mail_sms_send.html');
rootdir ist eine string-variable mit den server root pfad, z. B.
Welchen Pfad du als rootdir definieren musst erfährst du wenn du auf die von dir genannte url gehst, dich dort anmeldest und den pfad welcher dann in der adressleiste steht kopierst, natürlich ohne den dateinamen und das abschließende /. Z. B.
http://login.freenet.de/bla/irgendwas.php muss im string so stehen:
http://login.freenet.de/bla
Verständlich?
Die Brotmafia - Mo 26.12.05 18:21
Also, die Adresse wo der Button zum Sms versenden steht, ist
Quelltext
1:
| http://office.freenet.de/mms/index.html |
Also muss ich dann jetzt
Quelltext
1:
| webbrowser1.navigate('http://office.freenet.de/mms/index.html'+'/messages/mail_sms_send.html'); |
oder was?
Wenn ich auf Sms schreiben klicke seh ich nämlich keine Url, ist ja auch nur n Php Script....
jakobwenzel - Mo 26.12.05 18:24
Du musst den Pfad nehmen, und keine Datei, also
Delphi-Quelltext
1:
| webbrowser1.navigate('http://office.freenet.de/mms/index.html'+'/messages/mail_sms_send.html'); |
Die Brotmafia - Mo 26.12.05 18:33
Hm, wenn ich als Pfad
Quelltext
1:
| http://office.freenet.de/mms/index.html/messages/mail_sms_send.html |
eingebe, kommt trotzdem nur das standard fenster wo ich auf den Button klicken muss,
irgendwie brauch ich anscheinend das dumme java script....
Andreas L. - Mo 26.12.05 18:36
Die Brotmafia hat folgendes geschrieben: |
Hm, wenn ich als Pfad
Quelltext 1:
| http://office.freenet.de/mms/index.html/messages/mail_sms_send.html |
eingebe, kommt trotzdem nur das standard fenster wo ich auf den Button klicken muss,
irgendwie brauch ich anscheinend das dumme java script.... |
Au, das tut weh.....
So ist es richtig:
Quelltext
1:
| http://office.freenet.de/mms/messages/mail_sms_send.html |
Die Brotmafia - Mo 26.12.05 19:03
...
Quelltext
1:
| http://office.freenet.de/mms/messages/mail_sms_send.html |
Not Found
The requested URL /mms/messages/mail_sms_send.html was not found on this server.
Soviel dazu ^^
Andreas L. - Mo 26.12.05 19:41
Die Brotmafia hat folgendes geschrieben: |
...
Quelltext 1:
| http://office.freenet.de/mms/messages/mail_sms_send.html |
Not Found
The requested URL /mms/messages/mail_sms_send.html was not found on this server.
Soviel dazu ^^ |
Dann hast du uns die falsche url genannt. leider habe ich keinen freenet-account, sonst hätte ich mal nachgeschaut!
Andreas L. - Mo 26.12.05 20:19
Du könntest mal den Seiten-Quelltext der Freenetseite hier als Anhang hochladen. Dann kann ich mal schauen was das JavaScript alles macht. OK?
Die Brotmafia - Mo 26.12.05 20:33
Bitte sehr, und nochmals danke für deine Mühe!!
Andreas L. - Mo 26.12.05 21:37
Also,
freenet.de JavaScript
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function scroll_popup(url,xw,yw) { var wintop = (screen.height - yw) / 2; var winleft = (screen.width - xw) / 2; jetzt = new Date(); //var wintitle = jetzt.getTime(); var wintitle = "scroll_popup"; var params = "resizable,scrollbars,height=" + yw + ",width=" + xw + ",left=" + winleft + ",top=" + wintop; pop1 = window.open(url,wintitle,params); } |
Das ist der JavaScript-Code für das SMS-Popup. So wie ich sehe übergibt das Script das aktuelle Datum/Zeit als Fenstertitel. Eine Zeile darunter wird der Fenstertitel auf "scroll_popup" festgelegt. Hmm... Ich bin nicht so der JavaScript Profi! Was wird da mit der Variable pop1 gemacht?
Mir fällt nicht ein wieso dir da ein ungültiger Pfad gezeigt wird...
Aber du könntest mal einen Code suchen bzw. den für den Submit-Image zu modifizieren und dann auf der page einen klick auf den sms button zu machen...
Die Brotmafia - Mo 26.12.05 22:49
Hmmm, ich weis auch nicht wirklich warum das nicht klappt, jedenfalls, auch wenn ich einfach so im TWebBrowser auf ok klicke geht es nicht, ich denke mal der unterstützt kein java script, ich weis grad echt nicht was ich da machen soll :/
Andreas L. - Di 27.12.05 19:49
Der TWebbrowser unterstützt schon JavaScript. TWebbrowser ist quasi eine ins Programm eingebettete Internet Explorer Instanz. Öffne mal den normalen Intenet Explorer (Start > Ausführen > iexplore "OK") und schalte den PopUp-Blocker aus und füge die freenet-Seite zu den Vertrauenswürdigen-Seiten hinzu...
Dann sollte der Klick im TWebbrowser auf den SMS-Button gehen, Denke ich...!
Die Brotmafia - Di 27.12.05 21:01
Hmm, das find ich jetzt mal echt komisch:
Mit dem Inter Explorer gehts, wenn ich ganz normal Sms schreibe.
So, jetzt probiere ich das gleiche mit meinem Freenet Clienten: Geht nicht!
Also, jetzt kommts aber:
Ich öffne den Internet Explorer und logge mich mit irgend nem Freenet Account ein wo noch Sms frei sind.
Dann öffne ich den Freenet Client, logge mich mit nem andren Account ein, und siehe da:
Das Sms schreiben funktioniert!
Woran liegt das, wie kann ich machen dass ich NICHT den browser im hintergrund geöffnet haben muss?
Edit: Wenn ich mich dann im Internet Explorer wieder auslogge geht auch der Freenet Client nicht mehr...
Kann es sein, dass wenn man mit dem Twebbrowser ne Url öffnet dass der sich dann automatisch ausloggt oder so?
Also geht nicht mehr heist, dass sobald ich auf sms schreiben klicke, dass er dann nicht die SmS-schreiben page öffnet sondern die normale Freenet Page, wo man login namen und so eingeben muss...
Andreas L. - Di 27.12.05 21:58
Ich habe keine ahnung.............
Evtl. hängt das mit den Cookies zusammen. Lösch die mal und probier es nur mit deinen freenet client!
Die Brotmafia - Mi 28.12.05 00:50
Kk, habbich gemacht, geht immer noch nicht...
Der Webbrowser scheint irgendwie ein Problem damit zu haben...
Andreas L. - Mi 28.12.05 20:20
Tut mir leid, ich weiß echt nicht weiter...
Die Brotmafia - Mi 28.12.05 20:24
Ist ok, kein Problem *g*
Ich stell das Projekt jetzt ein, ich hab keine Lust das ganze noch mal auf nem andren WebBrowser umzusetzen, was ich ja versuchen könnte...
Trotzdem hat mir die Sache einiges gebracht, ich kann wieder ein bisschen besser Delphi, und hab ein bisschen mehr wissen in Sachen TWebBrowser *g*
Danke @ alle für eure hilfe, aber vor allem @ onlinehome der sich ja wirklich viel Zeit für mich genommen hat, ohne den wär ich lange nicht so "weit" gekommen *g*
Mal guggen was ich jetzt mach, vielleicht nen matrix Chat oder sowas in der Art, mal schauen ^.^
Thnx for all bis bald
Brotmafia
Andreas L. - Mi 28.12.05 20:42
Die Brotmafia hat folgendes geschrieben: |
Danke @ alle für eure hilfe, aber vor allem @ onlinehome der sich ja wirklich viel Zeit für mich genommen hat, ohne den wär ich lange nicht so "weit" gekommen *g*
|
Danke und gern geschehen 8-)
Andreas L. - Fr 30.12.05 15:25
Mir fällt noch was ein. Im Objekt-inspektor die Eigenschaft RegisterAsBrowser vom webbrowser auf TRUE stellen. Vielleicht hilft das ja...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!