0

私はそのような問題を抱えています-私はいくつかの外部のウェブサイトで要素の値を変更したいと思います。

つまり、パスワードで保護されたWebカメラhttpインターフェイスがあり、モーション検出チェックボックスと[適用]ボタン(フォーム送信)のあるページがあります。モーション検知の切り替えを遅らせて、簡単なプログラムを作成したいと思います(このプログラムを起動して、モーション検知が開始する前に建物を離れる時間があります)。そこで、チェックボックスの状態を変更して、この変更をシステムに書き込みます。私はこのようなことを試みましたが、それはうまくいきません:

 jQuery.get("http://admin:password@192.168.0.1:12345/motion-page.asp",
       function(data){
         $('input[name="checkbox1"]').prop('checked', false);
         // and there "simulate" clicking on Apply button - submit the form -- don't know how ...
       }
 );

誰かがこれを手伝ってくれませんか?

4

2 に答える 2

1

カメラフォームを送信したときに表示されるページからさかのぼります。フォーム自体が「カメラをオンにする」変数をGETまたはPOSTとして送信しているかどうかを確認します。これをすでに知っている場合は、カメラからフォームと同じURLにアクセスし(このようなネットワークでHTTPアクセス可能であると想定)、同じ変数のセットを送信するだけです。

これを行うためにブラウザを開きたくない場合は、それを送信するカスタムアプリケーションを自分で作成できますが、スクリプトは[X]の量を待機する必要があるため、どちらの方法でも送信を行うために何かを開く必要がありますリクエストを行う前の時間。最速の方法はブラウザを使用することです。

これにjqueryが必要かどうかはわかりません(jqueryをほとんど使用していません)。スクリプト側で行うことは、このスクリプトにアクセスするだけでタイマーをアクティブ化する可能性が高いため、javascriptでタイマーオブジェクトを作成し、カメラフォーム送信のURLにアクセスする単一の関数を作成することです。 GET文字列パラメーターを使用するか(フォームを作成する必要がないため、GETを介して実行できる場合は最も簡単です)、またはPOSTの場合は、関数にフォームを作成させ、POSTを介して同じURLにフォームを送信します。

グーグルはjavascriptでタイマーを作成する方法、そしてグーグルはフォームを自動的に送信する方法。あなたが自分でそれを理解することができれば、あなたのためにコードを実行することは私の時間の無駄になるでしょう。そうでない場合は、戻ってきて、私たちに何ができるかを見ていきます:)頑張ってください。

于 2012-10-02T19:10:23.517 に答える
0

送信ボタンを押した後、またはチェックボックスをオンにした後、JavaScriptで実際にタイマーを実行してみませんか?それがあなたのことであるならば、jsまたはjqueryのタイマー関数を調べてください。ディスクなどに書き込む必要があるかどうかはわかりません...多くの情報を提供していないためですが、チェックボックスをオンにすると、記録したいデータをキャプチャして、タイマーがいつでもフォームと一緒に送信できます。なくなります。jqueryでフォームを送信するのは簡単です:http: //api.jquery.com/submit/ :)

于 2012-10-02T18:47:36.097 に答える