更改外部网站上的元素值

时间:2012-10-02 18:40:20

标签: javascript jquery html

我有这样的问题 - 我想在某些外部网站上更改元素的值。

即:我的网络摄像头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 ...
       }
 );

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

我会从提交相机表单时显示的页面回溯。查看表单本身是否将“打开相机”变量提交为GET或POST。如果您已经知道这一点,那么您所要做的就是从相机访问与表单相同的URL(假设它在这样的网络上可以访问HTTP)并提交相同的变量集。

如果您不想打开浏览器来执行此操作,您可以自己编写一个为您提交的自定义应用程序,但无论哪种方式,您都必须打开一些内容来进行提交,因为脚本必须等待[ X]发出请求前的时间。最快的方法是通过浏览器。

我不确定你是否需要jquery(我几乎从不使用jquery)。我会在脚本方面做什么,因为只是访问这个脚本意味着你想要最有可能激活计时器,就是在javascript中创建一个计时器对象,然后创建一个访问相机表单提交的URL的函数使用GET字符串参数(如果它可以通过GET实现最简单,因为您不必构建表单),或者,如果它是POST,则让函数构建表单并通过POST将表单提交到相同的URL。

Google如何在javascript中创建计时器,以及google如何自动提交表单。如果你能自己解决问题,那么为你做代码会浪费我的时间。如果没有,请回来,我们会看到我们能做什么:) 祝你好运。

答案 1 :(得分:0)

为什么不在点击提交按钮后,或者在选中框之后,让javascript实际运行一个计时器?查看js或jquery中的计时器函数,如果这更符合您的要求。不确定是否需要将其写入磁盘或其他任何内容......因为您没有提供太多信息,但是当选中此框时,您可能会捕获您想要记录的任何数据,并且可以随时随表单一起提交用尽。 在jquery中提交表单很简单: http://api.jquery.com/submit/ :)