AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

javascript befehl mit shellexecute

Ein Thema von Q-Dog · begonnen am 17. Sep 2006 · letzter Beitrag vom 25. Dez 2007
Antwort Antwort
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#1

javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:05
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:11
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#3

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:15
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:19
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:21
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#6

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 18:28
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
  Mit Zitat antworten Zitat
Q-Dog

Registriert seit: 15. Okt 2005
24 Beiträge
 
#7

Re: javascript befehl mit shellexecute

  Alt 17. Sep 2006, 19:27
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



Mfg Q-Dog
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: javascript befehl mit shellexecute

  Alt 25. Dez 2007, 21:12
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.

Hoffentlich kann mir jemand helfen!
Robert L.
  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 08:54 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