Tampermonkey. Как задать переменную 1 раз, чтобы при каждом обновлении страницы она не пересоздавалась?
Пишу небольшой парсер для Tampermonkey. Как видно из кода, в конце функции происходит переход на другую страницу, после перезагрузки страницы переменная rate объявляется заново, что очень сильно мешает. Как сделать так, чтобы переменная задавалась только 1 раз при старте функции, и после перехода на след. страницу не приходилось опять вводить курс?
var total = [];
var rate = prompt('Курс?', 10);
function parse() {
var arr = [];
var name = document.querySelectorAll('p.name span');
var price = document.querySelectorAll('.pull-left > .price');
for (var i = 0; i < name.length; i++) {
arr.push(name[i].innerHTML + ' ' + (price[i].innerHTML.slice(1) * rate).toFixed(2) + 'р');
}
total = localStorage.getItem('total') + ' ' + arr;
localStorage.setItem('total', total);
console.log(localStorage.total);
document.querySelector('li.next > a').click();
}
Ответы (2 шт):
Автор решения: Anton Shchyrov
→ Ссылка
Храните эту переменную в localStorage
var rate = localStorage.getItem('rate');
if (rate === null) {
rate = prompt('Курс?', 10);
localStorage.setItem('rate', rate);
}
Автор решения: Владимир Печерский
→ Ссылка
Так же, как сделал @Anton Shchyrov, только через тернарный оператор (так чуть меньше кода будет)
let rate = localStorage.getItem('rage') !== null ? localStorage.getItem('rate) : prompt('Курс?', 10);
localStorage.setItem('rate', rate);