не работает обработка confirm
Есть функция, на включение выключение устройства по JSON URL запросу, решил добавить подтверждение, добавил и если быстро нажимать ок после сообщения, то запрос отправляется, если же подождать пару секунд, после сообщения, то запроса нету.
Почему так происходит ? export function Supply(power){ if(power=='ON'){ if (confirm("Вкл?")) { Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$ON',Single,function () { if(this=="OK"){ alert("Вкл"); } if(this=="ERROR"){ //alert("Ошибка"); } }); } else { alert("отмена"); } } if(power=='OFF'){ if (confirm("выкл?")) { Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$OFF',Single,function () { if(this=="OK"){ alert("Выкл"); } if(this=="ERROR"){ //alert("Ошибка"); } }); } else { alert("отмена"); } } } //================================================================================================== /* * @Описание: a one-time function call. cyclic function call * @Параметр: * @Возврат: Нету */ export function GetSettingTimeout(link,ModeFuncCall,CallbackTrue,CallbackFalse) { (function _f() { //var http2 = createRequestObject(); if( http2 ) { //--------------------------------------------- var uriEncode = encodeURI(link).replace(/%20/g,'!').replace(/'/g,'~').replace(/%22/g,'"').replace(/%5B/g, '[').replace(/%5D/g, ']'); //console.log(uriEncode); http2.open('GET', uriEncode, true); //--------------------------------------------- http2.timeout =13000; //--------------------------------------------- http2.onreadystatechange = function () { if (http2.readyState == 4&&http2.status == 200) { if (CallbackTrue && typeof(CallbackTrue) === "function") { CallbackTrue.call(http2.responseText); } //CallbackTrue.call(http2.responseText); //ConnectSuccessful(); if(ModeFuncCall==CYCLIC){ TimerID = setTimeout(_f, 1000); } } }; //--------------------------------------------- http2.ontimeout = function() { //Disconnect(); TimerID = setTimeout(_f, 1500); if (CallbackFalse && typeof(CallbackFalse) === "function") { CallbackFalse.call(http2.responseText); } }; //--------------------------------------------- http2.abort= function() { if(StatusAbort==ClearAbbort){ //Disconnect(); StatusAbort=ClearAbbort; TimerID = setTimeout(_f, 1000); } }; //--------------------------------------------- http2.send(null); }else{ TimerID = setTimeout(_f, 1000); } })(); } |
Часовой пояс GMT +3, время: 07:25. |