Javascript.RU

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

Скрипт нагружает память хрома
Как боротся? Есть цыкл:
var i = 0;
function test() {
  if (i <= 5000) {
    test2();
    setTimeout(test, 1000);
  }
}

function test2() {
var obnov = document.getElementById("****").getElementsByTagName("**")[0].click();
var prov = document.getElementById("****");
if(prov.innerHTML != "") {i=5555; alert("ok");}else{obnov};
i++;

}
test();


С каждым цыклом пямять в хроме увеличивается, что нужно сделать? или что не так делаю?
Ответить с цитированием
  #2 (permalink)  
Старый 29.07.2017, 05:59
Интересующийся
Отправить личное сообщение для jonsinat2 Посмотреть профиль Найти все сообщения от jonsinat2
 
Регистрация: 23.09.2016
Сообщений: 29

Не знаю что делать уже, пробывал и так:
delete window.obnov;
delete window.prov;
delete window.i;

и просто
obnov=null;
prov=null;
i=null;

ничего не помогает, в диспетчере задач хрома видно как растет память Javascript(там есть такая вкладка)
Ответить с цитированием
  #3 (permalink)  
Старый 29.07.2017, 15:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

что делают эти функции?
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2017, 09:54
Интересующийся
Отправить личное сообщение для jonsinat2 Посмотреть профиль Найти все сообщения от jonsinat2
 
Регистрация: 23.09.2016
Сообщений: 29

первая функция это цыкл с интервалом в 1 сек и запуском второй функции, а во второй функции идет проверка на существования на странице елемента, если его нет значит продолжаем цыкл i++; и обновляем если он найден то останавливаем i=5555;
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2017, 17:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var i = 0;
		setTimeout(function tim(){
			if (i <= 5000){
				if(document.getElementById("****")) {
					var obnov = document.getElementById("****").getElementsByTagName("****")[0].click();
					i=5555; alert("ok");
				}
				else setTimeout(tim, 1000);
			}
			i++;
		}, 1000);


только не совсем понятно:
зачем его искать в цикле?? должно быть какое-то событие появления
вызвать событие dispatchEvent(new Event("click"));
Ответить с цитированием
  #6 (permalink)  
Старый 31.07.2017, 14:09
Интересующийся
Отправить личное сообщение для jonsinat2 Посмотреть профиль Найти все сообщения от jonsinat2
 
Регистрация: 23.09.2016
Сообщений: 29

в общем на странице есть фрейм и его можно обновлять, мне нужно что бы обновлялся фрейм до тех пор пока там не появится что то. Но насколько я понял при каждом обновление страница остается в кеше и потом она перестает отвечать так как не хватает оперативной памяти, как это исправить?
Ответить с цитированием
  #7 (permalink)  
Старый 31.07.2017, 16:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,703

jonsinat2, в конец адреса добавляй get-параметр с рандомным значением.

К примеру:
var img;//Это условная картинка
setInterval(function(){
img.src=img.src.split('?').shift()+'?'+Math.random();
},2000)

Изображений будет перезагружаться каждые 2 секунды игнорируя кеш.
Ответить с цитированием
  #8 (permalink)  
Старый 31.07.2017, 20:14
Интересующийся
Отправить личное сообщение для jonsinat2 Посмотреть профиль Найти все сообщения от jonsinat2
 
Регистрация: 23.09.2016
Сообщений: 29

ну это я понял а можео как то совсем чистить кеш через js?
Ответить с цитированием
  #9 (permalink)  
Старый 31.07.2017, 20:32
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,661

Сообщение от jonsinat2
мне нужно что бы обновлялся фрейм до тех пор пока там не появится что то
Если фрейм кросс-доменный появление не удастся определить и все ваши текущие вопросы бесполезны далее.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как скопировать скрипт с переадресующей страници ramisa Элементы интерфейса 9 09.07.2013 23:59
Как вывести дату, чтобы не повторять скрипт пару раз xXapokalypsesXx Общие вопросы Javascript 10 27.06.2013 13:43
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07