Высокое потребление оперативной памяти
<script type="text/javascript">
function start(){
setInterval(reloadImg,1000);
}
function reloadImg()
{
$.getJSON('getImageName.php',function(data)
{
img = document.getElementById('Сam');
img.src='/img/'+data.path;
});
}
</script>
После вызова функции «start», скрипт каждую секунду подгружает картинку. Имя новой картинки, которую нужно подргузить, генерируется в файле «getImageName.php». Скрипт очень прожорливый получился , не подскажите как быть? |
Откуда узнали, что прожорливый?
|
Цитата:
1 Гб съел, когда я открыл через несколько минут. |
а можно взглянуть?
|
|
Raoul,
тег картинки некорректен плюс каждая новая картинка запускает дополнительный интервал |
Цитата:
Если изменить обработчик события на onClick, это решит проблему? Действительно. Но в коде ошибки не нашел. echo '<img src="'.$path.'" id="camEkb" onload="start()">'; |
Raoul,
а просто .ready() или .load() на готовность страницы повесить запуск или использовать не setInterval а setTimeout но предусмотреть ошибки -- src |
Raoul,
как-то так
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function start(){
window.setTimeout(reloadImg,1000)
}
function reloadImg()
{
$.getJSON("getImageName.php")
.success(function(data) {
img = document.getElementById('camEkb');
img.src='http://online.ts6.ru/img/'+data.path; })
.error(function() { start() })
}
</script>
</head>
<body>
<img src="/img/live-20140116-190251.jpg" id="camEkb" onload="start()" >
</body>
</html>
|
Спасибо за ответ, проблема заключалась в постоянном вызове интервала.
Да, это тоже будет очень кстати, дважды спасибо :thanks: |
| Часовой пояс GMT +3, время: 21:54. |