Собственно не знал куда запостить, поэтому пусть будет здесь, заранее извиняюсь. Имеется внешений сетевой накопитель, на нем есть веб интерфейс, там есть форма обновления прошивки, и ленивые китайцы поленились активировать кнопочку "Start Upgrade" вот сам скрипт: HTML: <script language="JavaScript" type="text/javascript"> function showMsg() { var f=document.forms[0]; if(f.ret_msg.value != "") alert(f.ret_msg.value); } function startUp() { var f=document.forms[0]; if(confirm("Upgrade now?")){ f.op.value="upnow"; return true; } return false; } function checkNullFilename() { var f=document.forms[0]; if(f.upfile.value == ""){ alert("Please choose a firmware to upload!"); return false; } else return true; } var action="wait"; function fresh() { var url = "data.tmp"; var xml = new ActiveXObject("Microsoft.XMLHTTP"); xml.open("GET",url,false); xml.send("async"); if(xml.responseText=="upgrade") action = xml.responseText; } function upgrade() { var url = location.href; var ip = url.split("/"); //alert(ip[2]); fresh(); if(action=="wait"){ //alert(action); //alert("Rain"); var timer = setTimeout("upgrade()", 1000); }else{ //alert("ok"); window.clearTimeout(timer); url = "http://" + ip[2] + "/upgrade_en.htm"; //alert(url); parent.location.href = url; return true; } } function updatefirmware() { if(!checkNullFilename()) return false; if(!startUp()) return false; upgrade(); document.forms[0].submit(); return true; } </script> а вот сама кнопка HTML: <input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()"> вобщем помогите как нибудь все таки отправить запрос на обновление прошивки, или что исправить, буду очень благодарен.
не думаю что китайцы ленивые и случайно забыли активировать кнопку. скорее всего чтото неверно делаешь.
я неверно выбираю прошивку и неверно тыкаю кнопку? scrat, не помогло, тоже никакой реакции ни в браузере ни на сетевом жестком((
я не вижу где идёт выключение кнопки.вероятно там есть ещё какой то скрипт. если я правильно понял кнопка не активна.или же по нажатии на неё ничего не происходит??
попробуй вот так javascript:upgrade();document.forms[0].submit(); мне всётаки кажется что чтото не так делаешь возможно файл прошивки не подходит.или мб проблема в браузере потому что там идёт запрос через аякс возможно браузер имеет другой тип аякса как то так.
не работает, прошивка с сайта производителя, браузеры пробовал все, ни в одном не пашет, в опере включил консоль ошибок, вот что при обновлении выдает
вообще там все находится во фрейме, вот код где кнопка обновления: HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv=="pragma" content="no-cache"> <meta http-equiv="Expires" content="Mon, 01 Jan 2000 00:00:01 GMT"> <link rel="stylesheet" type="text/css" href="../../feature.css"> <script language="JavaScript" type="text/javascript"> function showMsg() { var f=document.forms[0]; if(f.ret_msg.value != "") alert(f.ret_msg.value); } function startUp() { var f=document.forms[0]; if(confirm("Upgrade now?")){ f.op.value="upnow"; return true; } return false; } function checkNullFilename() { var f=document.forms[0]; if(f.upfile.value == ""){ alert("Please choose a firmware to upload!"); return false; } else return true; } var action="wait"; function fresh() { var url = "data.tmp"; var xml = new ActiveXObject("Microsoft.XMLHTTP"); xml.open("GET",url,false); xml.send("async"); if(xml.responseText=="upgrade") action = xml.responseText; } function upgrade() { var url = location.href; var ip = url.split("/"); //alert(ip[2]); fresh(); if(action=="wait"){ //alert(action); //alert("Rain"); var timer = setTimeout("upgrade()", 1000); }else{ //alert("ok"); window.clearTimeout(timer); url = "http://" + ip[2] + "/upgrade_en.htm"; //alert(url); parent.location.href = url; return true; } } function updatefirmware() { if(!checkNullFilename()) return false; if(!startUp()) return false; upgrade(); document.forms[0].submit(); return true; } </script> <title>Administration -> Tools -> Upgrade</title> </head> <body onLoad="showMsg()"> <form action="admin_tls_up.cgi" method="post" enctype="multipart/form-data" name="f_up"> <table width="500" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bordercolordark="#ffffff" bordercolorlight="#6699cc"> <!--DWLayoutTable--> <tr> <td width="500" height="22" class=title>FW Upgrade</td> </tr> <tr> <td height="138" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="15" height="18"></td> <td width="136"> </td> <td width="338"></td> <td width="7"></td> </tr> <tr> <td height="22"></td> <td colspan="2"><font color="#FF0000">Note: Please do not power off the device while upgrading, </font></td> <td></td> </tr> <tr> <td height="22"></td> <td colspan="2"><font color="#FF0000">in this progress, some device functions will be disabled!</font></td> <td></td> </tr> <tr> <td height="13"></td> <td></td> <td></td> <td></td> </tr> <tr> <td height="22"></td> <td valign="top">Current FW version:</td> <td valign="top">V01R01</td> <td></td> </tr> <tr> <td height="22"></td> <td colspan="2"> <input name="upfile" type="file" id="upfile" size="36"></td> <td></td> </tr> </table></td> </tr> <tr> <td height="22" align="center"> <input name="b_apply_up" type="button" id="b_apply_up" value="Start Upgrade" onClick="updatefirmware()"> </td> </tr> </table> <input type="hidden" name="lang" value="en"> <input type="hidden" name="op" value=""> <input type="hidden" name="ret_msg" value=""> <input type="hidden" name="cur_page" value="admin_sys.htm"> <input type="hidden" name="next_page" value="admin_sys.htm"> </form> </body> </html>
так давай проясним кое что. ты выбрал прошивку.далее жмёшь кнопку у тебя вылетает сообщение "Upgrade now?" ?? попробуй невыбери прошивку и нажми на кнопку что тебе выдаст браузер?