@GhostZ
Спасибо!
Не было такого окна))
Логика скрипта ( вопрос )
-
Привет!
Подскажите пожалуйста, как лучше организовать логику скрипта?( я уже голову сломал ибо только начал изучать JavaScript )
По-ходу основного скрипта перебираются объекты, по ссылкам, и над ними совершаются определенные действия...
Объекты есть двух типов. Условно говоря "А" и "В". Определить их не составляет труда ( проверить наличие объекта на странице )
С объектом "А" - работаем.
Объект "В" не трогаем и всячески игнорируем.А вот дальше у меня начинаются трудности...
Сначала я не мудрил - просто заходил на объект, проверял есть ли характерный элемент, записывал его в переменную и ставил блок ( IF - ELSE ) и дальше по плану.
Но этих объектов много (от 10 до 25 на странице ), и к десятому шагу я уже запутывался окончательно. Такая портянка блоков вырастала, что ппц!Потом вынес проверку в отдельную функцию и теперь не могу сообразить, как из функции вернуться к основному скрипту.
- Берем первый объект.
- Проверяем что это объект типа "А"
- Если да, ( Это объект А) то выполняем на нем действие.
- Если нет, ( Это объект В ), то ничего не делаем с ним и переходим к следующему.
Пробовал "установить метку" - "перейти к метке", но тоже не понимаю, как правильно написать...
В общем, буду рад любым советам.
Извините за глупые вопросы )п.с.
И еще один момент:
Есть таймер ожидания вида "минуты:секунды". Например 2:30
Как то можно записать его в переменную в секундах, чтобы выставить сон или эмуляцию бездействия на это время ? Время часто меняется, так что заранее не угадать... -
@fox-mulder честно сказать трудно понять что ты хочешь сделать как я понял ты хочешь проверить один элемент если он есть выполняешь если его нет проверяешь второй элемент если и его нет идешь дальше а если второй элемент есть то делаешь другое действие?
-
Не совсем.
Попробую аналогию привести для понимания:
Есть магазины и склады. Они идут списком, в виде таблицы, но вперемешку.Мне нужны только магазины.
1.Я захожу по первой ссылке.
2. Определяю - магазин ли это по наличию элемента на странице.
( если элемент есть - значит магазин. Если нет - склад. И на основе этого ставлю блок "IF - ELSE" )
3. Если магазин - записываю цену , а затем перехожу ко второй ссылке.
4. Если склад - сразу перехожу ко второй ссылке ( с ним никаких действий )Затем те же действия со второй ссылкой, потом с третьей, десятой ... двадцатой.
-
@fox-mulder Это через список надо делать. Все объекты А у тебя должны быть в одном списке. Создаешь список SPISOK_OBEKTOV_A
далее добавляешь в него, по нужному критерию нужные тебе элементы.
Далее, обрабатываешь уже полученный список, например вот так
В действии получить элемент, нужно поставить галочку, удалить взятый в переменную элемент.
-
@fox-mulder я бы сначало отфильтровал обекты на А и Б и потом уже работал сними. @Samael_96 дело говорит ))
Ток вот я понять не могу почему у тебя вышло много if'ок? можно-же использовать одну, и перезаписовать переменную котокая в if'ке .
-
А если объекты обновляются ? Не ежесекундно, конечно, но довольно часто.
Вверху таблицы оказываются объекты с лучшей ценой. То есть, они часто меняются и нас интересует только первые несколько страниц таблицы.
В любом случае буду пробовать. Спасибо!Про "перезаписовать переменную которая в if'ке ." - не могу понять.
Видимо, знаний еще не хватает в JavaScripte ) -
@fox-mulder said in Логика скрипта ( вопрос ):
А если объекты обновляются ?
В этом случае нецелесообразно фильтровать объекты и работать с ними в разных циклах. Пусть все объекты обрабатываются одним циклом. Внутри цикла скрипт должен определить "сорт" объекта и работать с ними в зависимости от полученного результата.
Вообще, однотипные действия желательно обрабатывать потоками. Это быстрее, но будет жрать ресурсы сервера.