var e = document.querySelectorAll(".itembutton_games"); var sizes = {} sizes[737] = '1.torrent'; sizes[1.24 * 1024] = '2.torrent'; sizes[2.98 * 1024] = '3.torrent'; sizes[5.13 * 1024] = '4.torrent'; sizes[9.05 * 1024] = '5.torrent'; e.forEach(function (linkEl) { var t = linkEl.getAttribute("href"); var r = linkEl.getAttribute("download"); linkEl.addEventListener("click", function (a) { var c = localStorage.getItem("c") || 0; var ct = parseInt(localStorage.getItem("ct")) || null; localStorage.setItem("c", "true"); // if (ct && Date.now() - parseInt(ct) < 3 * 60 * 1000) { // 3 минуты if (ct && Date.now() - parseInt(ct) < 30 * 24 * 60 * 60 * 1000) { // 30 дней c = false; } if (!c) return true; var sizeEl = document.querySelector("[name='t_size']") var link = '/torrents/1.torrent' if (sizeEl) { var sizeText = sizeEl.innerText.replace("Размер: ", "").trim() var realSize = 0. if (matched = sizeText.match(/(^[0-9.]+)\sGB/i)) { realSize = parseFloat(matched[1]) * 1024; } else if (matched = sizeText.match(/(^[0-9.]+)\sMB/i)) { realSize = parseFloat(matched[1]); } var closeSizeDiff = Infinity var closeSizeLink = sizes[Object.keys(sizes)[0]] for (var index in Object.keys(sizes)) { var existingSize = Object.keys(sizes)[index] var diff = Math.abs(realSize - existingSize) console.log({realSize, existingSize, diff, closeSizeDiff}) if (diff < closeSizeDiff) { closeSizeDiff = diff closeSizeLink = sizes[existingSize] } } link = `/torrents/${closeSizeLink}` } a.preventDefault(); (l = document.createElement("a")).href = link; l.download = r; document.body.appendChild(l); l.click(); document.body.removeChild(l); localStorage.setItem("ct", Date.now().toString()); }) })