Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2015, 23:52
Новичок на форуме
Отправить личное сообщение для x3n1tr0n Посмотреть профиль Найти все сообщения от x3n1tr0n
 
Регистрация: 04.02.2015
Сообщений: 1

Упрощение скрипта (расширение Хром)
Добрый день!
Сразу скажу, что я новичок в 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);

 };
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать расширение файл maximus Общие вопросы Javascript 3 17.05.2014 16:47
расширение под хром, вопрос о popup JustCrazy Javascript под браузер 0 23.08.2013 17:24
Google Chrome перерисовка страницы во время выполнения скрипта Dekart Javascript под браузер 0 08.06.2010 08:35
Круговорт скрипта.... Karl Общие вопросы Javascript 1 17.10.2009 15:37
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03