Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.03.2022, 11:47
Кандидат Javascript-наук
Отправить личное сообщение для firsmember Посмотреть профиль Найти все сообщения от firsmember
 
Регистрация: 08.11.2019
Сообщений: 113

Нажать на кнопки после полной загрузки страницы
Добрейшего денечка Господа.

На сайте есть несколько кнопок (количество может быть любым)
<input type="button" class="ays_next start_button action-button" value="Начать">
нужно после полной загрузки страницы нажать по 1 разу на эти кнопки.. Важно На сайте есть точно такие же кнопки (с такими же атрибутами и классами) но с другим текстом - Важно нажать на все кнопки именно с class="ays_next start_button action-button" и value="Начать"

Заранее премного вам благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 29.03.2022, 14:09
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,751

window.onload = () => {
   document.querySelectorAll('input.ays_next.start_button.action-button[value="Начать"]')
      .forEach(b => b.click());
}
Ответить с цитированием
  #3 (permalink)  
Старый 30.03.2022, 07:38
Кандидат Javascript-наук
Отправить личное сообщение для firsmember Посмотреть профиль Найти все сообщения от firsmember
 
Регистрация: 08.11.2019
Сообщений: 113

Сообщение от voraa Посмотреть сообщение
window.onload = () => {
   document.querySelectorAll('input.ays_next.start_button.action-button[value="Начать"]')
      .forEach(b => b.click());
}
Подскажите еще пожалуйста, как сделать задержку в 3 секунды после полной загрузки страницы, а то есть ощущение, что некоторые скрипты которые мне нужны выполняются после того, как мы кликнули по кнопкам.

Или может можно выполнить его исключительно после того, как все скрипты на странице отработали уже?

Последний раз редактировалось firsmember, 30.03.2022 в 07:55.
Ответить с цитированием
  #4 (permalink)  
Старый 30.03.2022, 08:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от firsmember
как сделать задержку в 3 секунды
Планирование: setTimeout и setInterval
Ответить с цитированием
  #5 (permalink)  
Старый 30.03.2022, 08:09
Кандидат Javascript-наук
Отправить личное сообщение для firsmember Посмотреть профиль Найти все сообщения от firsmember
 
Регистрация: 08.11.2019
Сообщений: 113

как то странно работает очень...

Если пишу
window.onload = () => {
	   document.querySelectorAll('input.ays_next.start_button.action-button[value="Начать"]')
		  .forEach(b => b.click());
	}


То по человечески срабатывает только клик по первой кнопке, а еси пишу

window.onload = () => {
	   document.querySelectorAll('input.ays_next.start_button.action-button[value="Начать"]')
		  .forEach(b => b.click());
	}
	window.onload = () => {
	   document.querySelectorAll('.calck_quiz_nav input.ays_next.start_button.action-button[value="Начать"]')
		  .forEach(c => c.click());
	}


т.е. вторым скриптом указываю на вторую кнопку, то он выполняет только клик по 2й кнопке...
Ответить с цитированием
  #6 (permalink)  
Старый 30.03.2022, 08:47
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,751

А что должно происходить при кликах по кнопкам ?

Сообщение от firsmember
т.е. вторым скриптом указываю на вторую кнопку, то он выполняет только клик по 2й кнопке...
Естественно. Вы же вторым window.onload переопределяете первый.

Последний раз редактировалось voraa, 30.03.2022 в 08:58.
Ответить с цитированием
  #7 (permalink)  
Старый 30.03.2022, 10:02
Кандидат Javascript-наук
Отправить личное сообщение для firsmember Посмотреть профиль Найти все сообщения от firsmember
 
Регистрация: 08.11.2019
Сообщений: 113

Сообщение от voraa Посмотреть сообщение
А что должно происходить при кликах по кнопкам ?
У меня плагин квиза, и перед его запуском стоит кнопка начать, так вот разработчики плагина уверяют что эта кнопка обязательна и без нее никак, по этому мой единственный выход пройтись по странице и нажать на все эти кнопки, чтобы пользователь сразу видел квиз, а не кнопку...

Сообщение от voraa Посмотреть сообщение
Естественно. Вы же вторым window.onload переопределяете первый.
Как тогда нужно сделать?
Ответить с цитированием
  #8 (permalink)  
Старый 30.03.2022, 10:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от firsmember
Как тогда нужно сделать?
по ссылке описание вашей ошибки, и её решение
addEventListener
Ответить с цитированием
  #9 (permalink)  
Старый 30.03.2022, 10:12
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,751

Сообщение от firsmember
по этому мой единственный выход пройтись по странице и нажать на все эти кнопки, чтобы пользователь сразу видел квиз, а не кнопку...
Я не спрашивал зачем это надо, а что должно происходить при нажатии. Меняется ли как нибудь DOM при нажатии и как?
Сообщение от firsmember
То по человечески срабатывает только клик по первой кнопке,
А что значит, что не срабатывают другие? Или срабатывают но не по человечески?
Функция click() - синхронная. Пока полностью не отработает обработчик события дальше не пойдет. Т.е пока полностью не отработает обработчик нажатия первой кнопки, не будет выполняться click() для второй и следующих.
Что происходит в этих обработчиках - надо разбираться с библиотекой.
Ответить с цитированием
  #10 (permalink)  
Старый 30.03.2022, 10:24
Кандидат Javascript-наук
Отправить личное сообщение для firsmember Посмотреть профиль Найти все сообщения от firsmember
 
Регистрация: 08.11.2019
Сообщений: 113

Сообщение от voraa Посмотреть сообщение
Я не спрашивал зачем это надо, а что должно происходить при нажатии. Меняется ли как нибудь DOM при нажатии и как?
Ну конечно, выполняется скрипт, скрывается эта кнопка и показывается киз.

Сообщение от voraa Посмотреть сообщение
А что значит, что не срабатывают другие? Или срабатывают но не по человечески?
Функция click() - синхронная. Пока полностью не отработает обработчик события дальше не пойдет. Т.е пока полностью не отработает обработчик нажатия первой кнопки, не будет выполняться click() для второй и следующих.
Что происходит в этих обработчиках - надо разбираться с библиотекой.
Это значит, что по отдельности они срабатывают, а все вместе нет.


Причем в плагине есть возможность включить автозапуск квиза, но там как раз есть пометка, что он будет работать только в том случае, если квиз всего 1 на странице.

Вот хотелось бы обойти все это..

Последний раз редактировалось firsmember, 30.03.2022 в 10:26.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает плавная прокрутка к якорю после загрузки страницы emptyindorill jQuery 12 25.07.2016 19:15
Сохранение данных после закрытия страницы HekracoB AJAX и COMET 12 02.01.2015 12:41
Открыть Div только после полной загрузки страницы xatan Общие вопросы Javascript 2 09.05.2014 06:33
Ajax и получение ответа до полной загрузки страницы Suspended jQuery 3 16.11.2008 14:57
Действие после полной загрузки Воитель Общие вопросы Javascript 4 02.10.2008 18:20