如何直接在网址中调用onclick javascript函数?

时间:2016-02-14 11:20:41

标签: javascript http url scripting mikrotik

我想调用一个onclick函数,因为我正在为MikroTik RouterBoard编写脚本,以便通过直接访问一个简单的链接重新启动我的调制解调器,但我发现调制解调器正在重启的页面有一个按钮,调用onlick函数:

<input type="button" onclick="btnReset()" value="Reboot">

那么有什么方法可以直接在http url中调用这个onclick函数,如:

http://admin:hunter@192.168.1.1/resetrouter.html?btnReset()=Reboot

这是MikroTik脚本,我正在编写,但它无法完成工作。它需要一个只访问它的直接链接并下载文件..!

如果有人MikroTik Scripting的人可以提供帮助将是非常好的..直到那时如果有任何方法可以在直接网址中进行操作那么那就太棒了......!

 {
/tool fetch url="http://admin:hunter@192.168.1.1/resetrouter.html?btnReset()=Reboot" mode=http 
}

3 个答案:

答案 0 :(得分:1)

btnReset()函数可能只是一个对话框,后跟一个URL提取。打开javascript控制台,输入btnReset.toString()并查看。如果您在其中看到了网址,请尝试直接访问该网址。

答案 1 :(得分:1)

无法通过超链接执行js代码(除非页面里面有脚本,特别是为此而且它正在检查某些参数......)。

但是,有一些工具可以帮助您以其他方式执行所需的操作:

  • 安装Custom JS for Web Sites plugin并定义将在浏览器中加载http://admin:hunter...页面后执行的js脚本。

    对于你的情况,它将是简单的函数调用:

    btnReset()
    
  • 分析btnReset() function的正文(可能该函数发送http请求)并使用cURL构建相同的请求,请参阅cURL Tutorial

  • 查看Bookmarklet,这是一个存储在包含JavaScript命令的网络浏览器中的书签。

  • 熟悉PhantomJSSelenium并编写简单的脚本,以便为您执行所需的操作。

答案 2 :(得分:1)

您需要一个非常具体的网址“http://admin:hunter@192.168.1.1/rebootinfo.cgi”。在我的例子中,函数btnReset()调用“rebo​​otinfo.cgi”。我按照以下步骤查找“rebo​​otinfo.cgi”。

  1. 打开路由器的“保存/重启”页面或等效页面。

  2. 检查“重启”按钮,即右键单击特定按钮,然后从菜单中单击“检查”。

  3. 在现在向右打开的开发人员工具中,请注意突出显示行中onclick属性的功能。例如。在我的例子中,btnReset()来自“input type =”按钮“onclick =”btnReset()“value =”Reboot“。

  4. 转到开发人员工具上的控制台选项卡,粘贴不带括号的函数名称,例如btnReset(不是btnReset()),然后按回车键。

  5. 在btnReset()的函数定义中,查找负责重新启动路由器的确切命令。就我而言,它是“rebo​​otinfo.cgi”。

  6. 就是这样,构建网址。