Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi javascript befehl mit shellexecute (https://www.delphipraxis.net/77316-javascript-befehl-mit-shellexecute.html)

Q-Dog 17. Sep 2006 18:05


javascript befehl mit shellexecute
 
Nabend,

ich habe mal wieder ein Problem mit Delphi,
und zwar möchte ich im Browser eine Seite aufrufen lassen, auf welcher ein Befehl mit javascript ausgeführt werden soll.

Ich hab gedacht, das kann doch net so schwer sein und einfach mal drauf los probiert:

Delphi-Quellcode:
ShellExecute(Handle, 'open','D:/Programmz/Internet/Firefox/firefox.exe', 'http://192.168.0.254/de/restart.htm', nil, SW_Show);
ShellExecute(Handle, 'open','D:/Programmz/Internet/Firefox/firefox.exe', 'javascript:document.forms[0].submit()', nil, SW_Show);
PS: in FF unter Einstellungen > Tabs 'im gleichen Tab öffen' ausgewählt.


die Seite wird zwar aufgerufen, jedoch nicht der javascript-Befehl.

woran kann das liegen?
oder kann man generell beide Befehle zu einem zusammenfassen?



Mfg Q-Dog

Luckie 17. Sep 2006 18:11

Re: javascript befehl mit shellexecute
 
Du rufst den Firefox mit dem Parameter auf: 'javascript:document.forms[0].submit()'. Ich glaube kaum, dass dies ein Parameter ist, mit dem der Firefox etwas anfangen kann.

Q-Dog 17. Sep 2006 18:15

Re: javascript befehl mit shellexecute
 
ja das ist mir schon klar, aber es ist ja im Zusammenhang mit der zuvor aufgerufenden Seite (192.168..)

und ich dachte, dadurch, dass sie im selben Tab aufgerufen werden, erkennt das Firefox.
denn im QT steht auch nichts anderes: <a href="javascript:document.forms[0].submit()">


aber scheint ja nicht so ;-)


ne Idee?



Mfg Q-Dog

Luckie 17. Sep 2006 18:19

Re: javascript befehl mit shellexecute
 
Zitat:

Zitat von Q-Dog
ja das ist mir schon klar, aber es ist ja im Zusammenhang mit der zuvor aufgerufenden Seite (192.168..)

Und woher weiß der Firefox das?

Wenn ich notepad.exe c:\test.text und dann notepad.exe 'hello world' ausführe dann schreibt mir Notepad auch nicht "Hello world" in die Datei test.txt rein.

Wann wird denn das Javascript auf der Seite ausgeführt? Beim Laden oder muss man erst einen Link anklicken?

mkinzler 17. Sep 2006 18:21

Re: javascript befehl mit shellexecute
 
Die beiden Aufrufe werden aber nicht im Zusammenhang gesehen. So wird es nicht gehen. Du kannst u.U. mit einer lokalen HTML-datei den Login schaffen.

Q-Dog 17. Sep 2006 18:28

Re: javascript befehl mit shellexecute
 
Zitat:

Zitat von Luckie
Wann wird denn das Javascript auf der Seite ausgeführt? Beim Laden oder muss man erst einen Link anklicken?

also man muss erst auf "Anwenden" klicken, jedoch funktioniert das ganze auch, wenn ich im selben Fenster erst die Seite öffne und dann in der url-leiste 'javascript:document.forms[0].submit()' eingebe.

Deswegen bin ich ja erst auf diese Idee gekommen.



Mfg Q-Dog

Q-Dog 17. Sep 2006 19:27

Re: javascript befehl mit shellexecute
 
habs nun so gelöst

Delphi-Quellcode:
sleep(500);
x := 605;
y := 340;
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 500, 0);
mouse_event(MOUSEEVENTF_LEFTUP, x, y, 500, 0);
zwar sehr sehr unschön, aber der Zweck heiligt die Mittel :mrgreen:



Mfg Q-Dog

Fussball-Robby 25. Dez 2007 21:12

Re: javascript befehl mit shellexecute
 
Guten Abend,
ich arbeite an einem sehr ähnlichem Programm wie Q-Dog.
Ziel:
1. Per ShellExecute eine Internetseite öffnen
2. dann in den bestehenden Tab einen Javascript einfügen und ausführen

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', 'C:\Programme\Mozilla Firefox\firefox.exe' , 'http://www.beispiel.de', nil , SW_NORMAL);    //klappt einwandfrei

ShellExecute(Application.Handle, 'open', 'C:\Programme\Mozilla Firefox\firefox.exe' , 'Javascript:beispiel.script();', nil , SW_NORMAL);    //2 Probleme: 1.URL wird in neuem Tab geöffnet und 2.Firefox erkennt den Script nicht als URL an und öffnet ihn daher nicht
Ich habe gegoogelt, SuFu's benutzt usw, und komme einfach nicht zu einer Lösung. :wall:

Hoffentlich kann mir jemand helfen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 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