У меня есть 2 сценария Javascripts для 2 целей. Один из них работает как брелок, а другой делает мой браузер медленным и трудным.
Оба сценария отправляют HTTP-запрос к файлу PHP на удаленном сервере каждые X секунд.
- Один скрипт получает значения и отображает их. Этот скрипт отлично работает каждую секунду (браузер не замедляется)
- Другой получает значения (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>
Есть ли способ сделать этот скрипт другим и более быстрым, как первый?