ralphi: JS-Funktion einer externen Seite ausführen

Hallo Leute,

Ich möchte die JS-Funktion einer externen Seite ausführen.

Vorab: Ich hab mir die Webcam link:http://www.pollin.de/shop/dt/NDE3NzcyOTk-/Computer_und_Zubehoer/Multimedia/Kameras/IP_Kamera_PREMIUMBLUE_PIPC_011_Pan_Tilt.html@title=IP-Kamera PREMIUMBLUE PIPC-011] geleistet. Der Controller der Kamera hat ein Webinterface, was ich nicht verändern kann. Im Gegensatz zum Controllerboard my_ethernet , wo die Ausgänge mit POST/GET also z.B. http://192.168.0.100?myConfigCmd=°c13~0x4° geschaltet werden können, habe ich bei der IP-Cam keine direkte Methode für z.B. Schwenkfunktionen gefunden.

Teil-Auszüge aus der Side: IPCameralive.htm:

<script src="get_camera_params.cgi"></script>
function up_onmousedown()  // Schwenkt die Kamera nach oben
{
    hideallpre();

if(l\_index==0)  
{  
Image23.src="images/s2.gif";  
content\_frame.up\_onmousedown();  
}  

}
function vpatrol_onclick()  // Schwenkt die Kamera vertikal hin und zurück
{
    hideallpre();

if(l\_index==0)  
{  
vpatrol.src="images/d1\_1.gif";  
content\_frame.vpatrol();  
}  

}
und beim body

  • Das Image, wenn man draufbleibt schwenk nach oben
     <td>
    <img onMouseDown="up_onmousedown()" onMouseUp="up_onmouseup()"
    src="images/s2_1.gif" name="Image23" width="22" height="35" border="0" id="Image23" />
    </td>
  • Das Image, wenn man klickt, dauerhafter links-rechts-links schwenk
     <td width="42">
    <a href="javascript:vpatrol_onclick()">        
    <img id="vpatrol" src="images/d1.gif" name="vpatrol"
    width="31" height="23" border="0"/></a>
    </td>

Folgendes habe ich ausprobiert:
1. mit HTML / JS

  • frameset mit IPCameralive.htm als frame2 -> Alle Links werden inaktiv (nur der Subframe mit dem Kamerabild 'live.htm' ist aktiv)-> aufruf über top.frame2.up_onmouseup()  oder parent.frame2.up_onmouseup() und andere Befehle haben keine Wirkung

2. mit VB6
mit wbrWebBrowser.Navigate "http://192.168.123.200/IPCameralive.htm"
zum laden der Seite ins webobjekt

txtName.Text = wbrWebBrowser.Document.vpatrol.Click
der externe CLICK für den Vertkalschwenk
funktioniert !

Ich benötige den stufenweisen schwenk

  • txtName.Text = wbrWebBrowser.Document.Image23("javascript:up_onmousedown();").Click
  • txtName.Text = wbrWebBrowser.Document.[javascript:up_onmousedown()].Click
  • txtName.Text = wbrWebBrowser.Document..Image23.Click
  • txtName.Text = wbrWebBrowser.Document.[javascript:up_onmousedown()]
    und ander Konstellationen Fehler oder keine Wirkung.

Kennt jemand eine Methode die Funktion  "up_onmousedown()" in  "http://192.168.123.200/IPCameralive.htm"  von extern auszuführen? (Es gibt natürlich noch weitere Funktionen in alle Richtungen)
Wie schon gesagt, kann ich die Seite IPCameralive.htm, nicht ändern.

Grüße aus LA
ralphi

  1. Hallo ralphi,

    über http://de.selfhtml.org/javascript/objekte/location.htm kannst du per Javascript url-Parameter (also alles hinter dem ?) auslesen. Damit kannst du die Scripte steuern.

    Gruß, Jürgen

    1. Hi Jürgen,

      ich habs wahrscheinlich unklar geschrieben:
      Es geht NICHT um den my_Ethernet, sondern um IP-CAM.

      Bei der IPCam kann ich keine der integrierten HTML-Seiten ändern. Sondern nur wie auf jede Seite im Internet betrachten und klicken.

      Das heist, ich bräuchte einen Befehl, mit dem ich auf die JS-Funktion zugreifen kann.
      Mit einem Frameset würde es gehen (mit top.frame2..), wenn die Seite beim Laden ins Frameset nicht inaktiv werden würde.
      Auch die Funktion rauskopieren und mit http://192.. versehen, geht nicht, weil ich denke, das der Controller irgendwelche ASCII-Zeichen im Quelletext der internen Seite zur Steuerung abfragt.

      Mit VB geht das Click auf den HTML-code, aber nicht das mouseup ..

      ralphi

  2. nachtrag:

    der korrekte Link zur Kamera Beschreibung:
    IP Cam

    Und zum direkten testen an meiner Kamera (hier kannst Du auch den kompletten Quellcode kucken)
    Blick auf den Balkon

    user: selfhtml
    pass: forum
    (eingeschränkte Rechte)

    An alle Hacker unter Euch: Nix kapput machen - mein (W)Lan läuft gerade mal wieder stabil ;)

    ralphi

    1. Und zum direkten testen an meiner Kamera (hier kannst Du auch den kompletten Quellcode kucken)
      Blick auf den Balkon

      *hust* http://192.168.123.200/

      1. *hust* http://192.168.123.200/

        sorry ;) - http://188.192.8.227/

        user selfhtml
        pass forum
        port 80
        nur heute 23.10.12

  3. Hi,

    Ich hab mir die Webcam IP-Kamera PREMIUMBLUE PIPC-011 geleistet.

    ja, die habe ich auch kürzlich gekauft - als eine Art Spielzeug. Und ich habe auch schon festgestellt, dass das Webinterface eher unbefriedigend ist. Vor allem, weil es komplett undokumentiert ist.

    Mein Ziel ist ja, das Live-Bild der Kamera mit VLC anzuzeigen und als Video aufzuzeichnen. Allerdings ist die einzige Methode, wie ich bisher überhaupt ein Live-Bild sehen konnte, die sogenannte Server-Push-Methode mit Firefox. Opera scheitert leider daran, dass er den von der Kamera gelieferten MJPEG-Stream nicht als img-Element darstellen kann; die anderen Methoden scheitern daran, dass ich anscheinend erst ein VLC-Plugin für den Browser installieren muss.

    Aber das will ich ja gar nicht, wie gesagt. Am liebsten wäre mir, ich hätte irgendwo eine Dokumentation zu dem Ding, die mir sagt, welche HTTP-Requests ich zum Einstellen der Parameter und für die Bewegung (Pan & Tilt) senden muss, und wie die genaue Stream-URL und das Datenformat fürs Video, damit ich das Bild eben auch unabhängig vom Browser in VLC anzeigen kann.

    Theoretisch müsste das alles "ganz einfach" sein, die Kommunikation läuft ja ausschließlich über HTTP. Eigentlich sollte es also genügen, mal die Kommunikation zwischen PC und Kamera mit Wireshark zu beobachten. Zumindest die "Kommandos" für die Kamera-Bewegung müsste man dann eindeutig zuordnen können.

    Allerdings bin ich bisher auch noch nicht weit ins Detail vorgedrungen; ich habe mal eine halbe Stunde mit dem Gerät rumgespielt und es dann zugunsten anderer Prioritäten erstmal wieder beiseite gelegt.

    Kennt jemand eine Methode die Funktion  "up_onmousedown()" in  "http://192.168.123.200/IPCameralive.htm"  von extern auszuführen?

    Nein, das ist AFAIK nicht möglich. Und es ist der falsche Ansatz. Finde heraus, welche Requests die Weboberfläche tatsächlich sendet, und baue diese nach. Betrachte die Kamera als Black Box, mit der du ausschließlich über HTTP kommunizierst, aber nichts von ihrem Inneren weißt.

    Vielleicht befasse ich mich die Tage auch nochmal genauer mit dem Dings.

    So long,
     Martin

    --
    In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
      (Dieter Nuhr, deutscher Kabarettist)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi Martin,

      Vielleicht befasse ich mich die Tage auch nochmal genauer mit dem Dings.

      ich glaub ich hab was gefunden:
      www.velleman.eu/downloads/files/downloads/ipcam_cgi_sdk.pdf

      und alle Versionen die sonst noch unter yahoo auftauchen. Die Info hab ich versteckt im einem Käuferforum gefunden

      zB. http://192.168.123.200/get_params.cgi
      funktioniert schon mal :)
      jetzt lese und probier ich mich einfach mal durch

      ralphi

      1. Hallo,

        Vielleicht befasse ich mich die Tage auch nochmal genauer mit dem Dings.
        ich glaub ich hab was gefunden:
        http://www.velleman.eu/downloads/files/downloads/ipcam_cgi_sdk.pdf

        das ist schon mal gut recherchiert, danke, sehr schön! Ich hatte auch schon mal versucht herauszufinden, wer nun *wirklich* der Hersteller des Geräts ist (Pollin verkauft ja nur), bin aber nicht weit damit gekommen.
        Es sieht zwar so aus, als hätte nie jemand das Dokument zur Korrektur gelesen, aber die wesentlichen Informationen sind erkennbar. Wenn sie denn auch stimmen. ;-)

        Auf jeden Fall habe ich da eine Menge Material, auf das ich aufbauen kann.

        So long,
         Martin

        --
        Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
        Erfahrung bekommt man, indem man das nicht tut.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo Martin

          Ich hatte auch schon mal versucht herauszufinden, wer nun *wirklich* der Hersteller des Geräts ist (Pollin verkauft ja nur), bin aber nicht weit damit gekommen.

          Hersteller ist die chinesische Firma WansCam. 7links wird auch genannt, führt aber nur zu Händlern und Youtube-Videos. Auf der WansCam-site finden sich auch Dokumentationen.

          http://www.wanscam.com

          Mit bestem Gruss Richard