выполнение скрипта в неактивной вкладке
Для страницы написал скрипт который меняет содержимое текстового поля и вызиваю 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, время: 21:40. |