выполнение скрипта в неактивной вкладке
Для страницы написал скрипт который меняет содержимое текстового поля и вызиваю focus() и blur() после чево кнопка сохранения становится активной и сохраняю. Но проблема в том что скрипт работает только в активной вкладке. Как можна решить ету задачу для неактивной вкладки?
|
браузер смартфона?
|
браузер хром на пк
|
должон пахать, напишите примерчик
|
var elements = document.getElementsByClassName('description'); var keys=elements[0].textContent; document.getElementsByTagName('textarea')[0].value=''; document.getElementsByTagName('textarea')[0].focus(); document.getElementsByTagName('textarea')[0].blur(); document.getElementsByTagName('textarea')[0].value=keys; document.getElementsByTagName('textarea')[0].focus(); document.getElementsByTagName('textarea')[0].blur(); document.getElementById("save_page").click(); я так понял что фокус на елементе не срабатывает если вкладка фоновая, в следствие кнопка сохранить неактивная. |
<input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <script> var inp = document.querySelectorAll('input'); var i = 0; setInterval(function(){ i++; inp[i].focus(); },1000); </script> в этом примере каждую секунду фокус переносится в следующий инпут, перейдите на другую вкладку, подождите посмотрите что будет. |
j0hnik,
Строго говоря, фокус не переносится. Для полноты добавьте inp[i].focus(); |
ой не тот пример кинул
|
<input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <input type="text"> <script> var i = 0; document.querySelector('input').focus(); setInterval(function(){ document.activeElement.value = i++; document.activeElement.nextElementSibling.focus(); },500); </script> Вот более наглядный пример |
Да фокус переносится. В моем случае проблема похоже в другому, если скрипт в активной вкладке работает то после изменения input и смещение фокуса срабатывает некое событие, которое проверяет изменились ли данные в поле если да то можна сохранять. А если в фоновой вкладке то такая проверка не происходит.
Можна както отследить которое собитие срабатыват в активной вкладке и запускать програмно в фоновой? |
Часовой пояс GMT +3, время: 07:13. |