Упрощение скрипта (расширение Хром)
Добрый день!
Сразу скажу, что я новичок в JS (раньше писал на других языках). У меня стояла задача - написать код для расширения Гугл Хром, который бы проверял открыт ли порт на определенном IP адресе. Я порыскал по инету и нашел несколько семплов, которые объединил в один. Код работает - если по указаному IP открыт определенный порт, то вы полняется функция оповещения об этом. Но, навярняка этот код можно существенно сократить - думаю, можно уместиться всего в несколько строк. Подскажите, пожалуйста, изящное решение. Код: setInterval(ping, 600000); function ping(){ var h = "XXX.XXX.XXX.XXX"; var p = XXX; var t = 100; var req = new pingrequest(h,p,t); req.dorequest(); return; } function notify() { var opt = {type: "basic",title:"Server is running!",message: "Runing!",iconUrl: "start.png"}; chrome.notifications.create("", opt, function(notificationId) { setTimeout(function() { chrome.notifications.clear(notificationId, function(wasCleared) { console.log(wasCleared); }); }, 3000); }); chrome.browserAction.setIcon({path:"on.png" }); } ping(); function pingrequest( host, port, timeout){ var src ; var h = host; var p = port; var timeout = 100; var id = String(Math.floor(Math.random()*10000000000)); this.getid = function() { return id }; this.getip = function() { return h }; this.getport = function() { return p }; this.dorequest = function() { var img = new Image(); img.onerror = function () { if (!img) return; img = undefined; notify(); }; img.onload = img.onerror; src = 'http://' + host + ':' + port + '/' + this.getid() + '.jpg'; img.src = src; setTimeout(function () { if (!img) return; img = undefined; chrome.browserAction.setIcon({path:"off.png"}); }, timeout); }; } |
Часовой пояс GMT +3, время: 15:26. |