Высокое потребление оперативной памяти
<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, время: 16:47. |