Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.04.2019, 15:06
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

Не отображается таймер счётчика в этом браузере.
Привет всем! Опять я к Вам спустя год.
Данный скрипт работал в OperaMobile(Symbian) без проблем.
Но скачав на андроид FireFox с расширением GreaseMonkey - этот скрипт перестал работать почему-то, а точнее одна из функций скрипта.
Проблема: не отображается таймер обратного отсчёта(см. скриншот стрелкой отметил)
В чём может быть проблема?

// ==UserScript==
// @name Autorefresh
// @author Dyec
// @version 1.0
// @grant none
// ==/UserScript==

if(!self.parent.frames.length) {

  var d = document;
  var e = d.createElement('button');
  var setCss = 'font-size: 27px; position: fixed; bottom: 0px; height: 48px; width: 57px; background: #e3e8e1; color: #3F3F3F; font-weight: 900; border-radius: 6px 6px 0 0; border: 1px solid silver; z-index: 9994; opacity: 0.8; filter:alpha(opacity=80); ';
  var stopX = '✖';
  var startO = '↻';
  var sec;
  var refreshId;
  var delinfo;

function reloads() { 
location.reload();
 }

function timerInfo() {
  var e = d.createElement('button');
e.style.cssText = setCss+'right: 60px;';
d.documentElement.appendChild(e);
e.innerHTML = '<span id="timer"></span>';
delinfo = e;
e.onclick = function() {
callback();
//пауза
     }
   }

function timerSec() {

if(sec<=9) {
  sec='0' + sec; }

if(d.getElementById('timer')) {
  timer.innerHTML=sec; }

if(sec==00) {
reloads();
return false; }

sec--;

refreshId = setTimeout(timerSec, 1000);
}

function askSeconds() {
  var ask = prompt('Интервал в секундах (2-960):', 5);

if(!ask || isNaN(ask)) {
  callback();
} 
else if(ask < 2) {
  alert('Минимум 2 секунды!');
callback();
}
else if(ask > 960) {
  alert('Максимум 960 секунд!');
callback();
} else {
sessionStorage.setItem('key', ask);
  sec = ask;

stopautorefresh();
timerInfo();
timerSec(sec);
   }
 }

function startrefresh() {
e.style.cssText = setCss+'left: 60px;';
d.documentElement.appendChild(e);
e.innerHTML = startO;
e.onclick = function() {

askSeconds();
stopautorefresh();
    }
  }

function stopautorefresh() {

e.style.cssText = setCss+'left: 60px;';
d.documentElement.appendChild(e);
e.innerHTML = stopX;
e.onclick = function() {

sessionStorage.clear();
clearTimeout(refreshId);
delinfo.outerHTML = '';
return startrefresh();

    }
  }

if(sessionStorage.getItem('key')) {
sec = sessionStorage.getItem('key');
stopautorefresh();
timerInfo();
timerSec(sec);
} else {
startrefresh();
  }

}


P.S. На некоторых сайтах за онлайн дают плюшки, но страницы там не обновляются. Для этого и писал этот скрипт.
Изображения:
Тип файла: jpg IMG_20190424_160342.jpg (116.5 Кб, 5 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2019, 16:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Dyec,
Поддержка sessionStorage браузерами Firefox Mobile (Gecko) ?
Поддержка браузерами
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2019, 02:34
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

Сообщение от Dilettante_Pro Посмотреть сообщение
Dyec,
Поддержка sessionStorage браузерами Firefox Mobile (Gecko) ?
Поддержка браузерами
Ну допустим, если даже не поддерживает sessionStorage, счётчик то, должен отсчет делать по идеи?!
Или из-за этого происходит ошибка, которая блокирует функцию?!
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2019, 17:29
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

Сообщение от Dilettante_Pro Посмотреть сообщение
Dyec,
Поддержка sessionStorage браузерами Firefox Mobile (Gecko) ?
Поддержка браузерами
Запустил такой код на проверку поддержки этих функций:
if (window.sessionStorage && window.localStorage) {
alert('ok');
}else {
alert('no');
}


Результат: ok.
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2019, 00:33
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

Ну что? Никто незнает в чем проблема?
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2019, 18:24
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Dyec,
а вот этот тест как работает?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Socket.io Асинхронный таймер monstantin AJAX и COMET 1 04.05.2018 00:48
Индивидуальный таймер обратного отсчета времени с редиректом pozitiv4ek Работа 2 11.12.2016 13:42
Обновляемый таймер на javascript smillyhamster Общие вопросы Javascript 1 31.12.2013 10:30
Почему ничего не отображается в браузере? Kot_new Events/DOM/Window 1 11.08.2013 09:19