Javascript скрипт производительности - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть 2 сценария Javascripts для 2 целей. Один из них работает как брелок, а другой делает мой браузер медленным и трудным.

Оба сценария отправляют HTTP-запрос к файлу PHP на удаленном сервере каждые X секунд.

  1. Один скрипт получает значения и отображает их. Этот скрипт отлично работает каждую секунду (браузер не замедляется)
  2. Другой получает значения (1 или 0), чтобы скрыть или показать маленькие изображения. в соответствии с состоянием, 0 или 1.

---- скрипт, который получает значения и все в порядке ----

<script src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script>
 var refreshId = setInterval(function() { $( "#var_3" ).load( "getvalue.php?var=var_3.VALUE&type=0&round=1&dec=1" ); }, 1000);
 var refreshId = setInterval(function() { $( "#var_4" ).load( "getvalue.php?var=var_4.VALUE&type=0&round=1&dec=1" ); }, 1000); 
 var refreshId = setInterval(function() { $( "#var_5" ).load( "getvalue.php?var=var_5.VALUE&type=0&round=1&dec=1" ); }, 1000);
 var refreshId = setInterval(function() { $( "#var_0" ).load( "getvalue.php?var=var_0.VALUE&type=0&round=1&dec=1" ); }, 1000);
 var refreshId = setInterval(function() { $( "#var_1" ).load( "getvalue.php?var=var_1.VALUE&type=0&round=1&dec=1" ); }, 1000);
</script>

<span id="var_3">###</span>
<span id="var_4">###</span>
<span id="var_5">###</span>
<span id="var_0">###</span>
<span id="var_1">###</span>

Теперь скрипт, который делает мой браузер страдают, и я почти не могу использовать браузер:

<script>
function GetEstado(para1) {

jQuery.extend
(
   {
       getValues: function(url) 
       {
           var result = null;
           $.ajax(
               {
                   url: url,
                   type: 'get',
                   dataType: 'html',
                   async: false,
                   cache: false,
                   success: function(data) 
                   {
                       result = data;
                   }
               }
           );
          return result;
       }
   }
);

   VARZ = $.getValues("getvalue.php?var="+para1+"&type=1");
   if (VARZ == 1) {
    document.getElementById(para1).style.display = "inline";
   } else {
    document.getElementById(para1).style.display = "none";
   }
};



setInterval(function() { GetEstado("OUT_39"); }, 5000);
setInterval(function() { GetEstado("OUT_31"); }, 5000);
setInterval(function() { GetEstado("OUT_40"); }, 5000);

HTML
<div id="OUT_39" style="display: inline"><img src="img/valv1.png" style="position: absolute; top: 544px; left: 397px;"></div>
<div id="OUT_41" style="display: inline"><img src="img/valv1.png" style="position: absolute; top: 244px; left: 297px;"></div>
<div id="OUT_40" style="display: inline"><img src="img/valv1.png" style="position: absolute; top: 44px; left: 17px;"></div>

Есть ли способ сделать этот скрипт другим и более быстрым, как первый?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...