Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2018, 00:22
Новичок на форуме
Отправить личное сообщение для parampam23 Посмотреть профиль Найти все сообщения от parampam23
 
Регистрация: 25.09.2013
Сообщений: 9

выполнение скрипта в неактивной вкладке
Для страницы написал скрипт который меняет содержимое текстового поля и вызиваю focus() и blur() после чево кнопка сохранения становится активной и сохраняю. Но проблема в том что скрипт работает только в активной вкладке. Как можна решить ету задачу для неактивной вкладки?
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2018, 01:05
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

браузер смартфона?
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2018, 01:17
Новичок на форуме
Отправить личное сообщение для parampam23 Посмотреть профиль Найти все сообщения от parampam23
 
Регистрация: 25.09.2013
Сообщений: 9

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

должон пахать, напишите примерчик
Ответить с цитированием
  #5 (permalink)  
Старый 25.01.2018, 14:31
Новичок на форуме
Отправить личное сообщение для parampam23 Посмотреть профиль Найти все сообщения от parampam23
 
Регистрация: 25.09.2013
Сообщений: 9

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();

я так понял что фокус на елементе не срабатывает если вкладка фоновая, в следствие кнопка сохранить неактивная.
Ответить с цитированием
  #6 (permalink)  
Старый 25.01.2018, 18:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<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, 25.01.2018 в 19:10.
Ответить с цитированием
  #7 (permalink)  
Старый 25.01.2018, 18:52
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
Строго говоря, фокус не переносится.
Для полноты добавьте inp[i].focus();
Ответить с цитированием
  #8 (permalink)  
Старый 25.01.2018, 19:04
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

ой не тот пример кинул
Ответить с цитированием
  #9 (permalink)  
Старый 25.01.2018, 19:33
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<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>


Вот более наглядный пример
Ответить с цитированием
  #10 (permalink)  
Старый 26.01.2018, 01:01
Новичок на форуме
Отправить личное сообщение для parampam23 Посмотреть профиль Найти все сообщения от parampam23
 
Регистрация: 25.09.2013
Сообщений: 9

Да фокус переносится. В моем случае проблема похоже в другому, если скрипт в активной вкладке работает то после изменения input и смещение фокуса срабатывает некое событие, которое проверяет изменились ли данные в поле если да то можна сохранять. А если в фоновой вкладке то такая проверка не происходит.
Можна както отследить которое собитие срабатыват в активной вкладке и запускать програмно в фоновой?
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение скрипта если есть html элемент Янковиц Элементы интерфейса 2 24.10.2017 21:47
Можно ли отключить выполнение скрипта в IE ? dimba jQuery 2 20.11.2014 07:17
Как остановить выполнение скрипта? ichisen Events/DOM/Window 2 12.04.2012 14:21
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 19:05