Привет всем. Строго не судите, я новичок в JS и это первый скрипт мой, работал давно с PHP и HTML. Возник ряд вопросов, один из них главный - это как заставить скрипт работать автономно после ввода секунд? Пробывал применять sessionStorage, но что-то не выходит. Работает как разовый таймер.
Второй вопрос, как сделать стоп таймера, ну и третий не очень важный пауза по нажатию на таймер. Вот собственно 5кб кода:
// ==UserScript==
// @name Autorefresh
// @author Dyec
// @version 1.0
// @date 2018-01-19
// ==/UserScript==
if(!self.parent.frames.length) {
var sec = "5"; // секунд
function askSeconds() {
var age = prompt('Время в секундах (2-180):', sec);
if(!age) {
callback();
//alert('Пустое значение!');
}
else if(age < 2) {
alert('Слишком мало! Минимум 2 секунды!');
}
else if(age > 180) {
alert('Слишком много! Максимум 180 секунд!');
} else {
var second = age;
var ag = '1';
}
if(ag='1') {
function traySec()
{
if(second<=9) {
second='0' + second; }
if(document.getElementById) {
timer.innerHTML=second; }
if(second==00) {
return false; }
second--;
setTimeout(traySec, 1000);
}
function trayInfo() {
var d = document;
var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 135px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black"><span id="timer"></span></color></b></big></big>';
e.onclick = function() {
//пауза traySec
}
}
trayInfo();
traySec();
function refresh() {
location.reload();
}
setInterval(refresh, age*1000);
}
}//закрытие askSecond
function autorefresh() {
var d = document;
var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 100px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black">↻</color></b></big></big>';
e.onclick = function() {
askSeconds();
stopautorefresh();
}
}
autorefresh();
function stopautorefresh() {
var d = document;
var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 100px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black">X</color></b></big></big>';
e.onclick = function() {
//stop
}
}
А вот и скрины как это выглядит!
Правда на некоторых сайтах кнопка стоит на месте и не прыгает вместе с прокруткой.