Adicionar opção para carregamento delayed (apos n segundos)
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
(() => {
|
||||
const urlInput = document.getElementById('urlInput');
|
||||
const lazyLoad = document.getElementById('lazyLoad');
|
||||
const openBtn = document.getElementById('openBtn');
|
||||
const extractBtn = document.getElementById('extractBtn');
|
||||
const urlCount = document.getElementById('urlCount');
|
||||
const status = document.getElementById('status');
|
||||
const modeBadge = document.getElementById('modeBadgeInner');
|
||||
const urlInput = document.getElementById('urlInput');
|
||||
const lazyLoad = document.getElementById('lazyLoad');
|
||||
const delayedLoad = document.getElementById('delayedLoad');
|
||||
const delayedLoadLabel = document.getElementById('delayedLoadLabel');
|
||||
const openBtn = document.getElementById('openBtn');
|
||||
const extractBtn = document.getElementById('extractBtn');
|
||||
const urlCount = document.getElementById('urlCount');
|
||||
const status = document.getElementById('status');
|
||||
const modeBadge = document.getElementById('modeBadgeInner');
|
||||
|
||||
// ── Helpers ────────────────────────────────────────────────
|
||||
function parseURLs(text) {
|
||||
@@ -52,13 +54,22 @@
|
||||
}
|
||||
|
||||
function updateBadge() {
|
||||
if (lazyLoad.checked) {
|
||||
const isLazy = lazyLoad.checked;
|
||||
const isDelayed = delayedLoad.checked;
|
||||
|
||||
if (isLazy && isDelayed) {
|
||||
modeBadge.textContent = 'lazy + delay';
|
||||
modeBadge.className = 'mode-badge';
|
||||
} else if (isLazy) {
|
||||
modeBadge.textContent = 'lazy';
|
||||
modeBadge.className = 'mode-badge';
|
||||
} else {
|
||||
modeBadge.textContent = 'eager';
|
||||
modeBadge.className = 'mode-badge off';
|
||||
}
|
||||
|
||||
// Delayed load only makes sense when lazy is on
|
||||
delayedLoadLabel.classList.toggle('disabled', !isLazy);
|
||||
}
|
||||
|
||||
// ── Event listeners ────────────────────────────────────────
|
||||
@@ -68,6 +79,7 @@
|
||||
});
|
||||
|
||||
lazyLoad.addEventListener('change', updateBadge);
|
||||
delayedLoad.addEventListener('change', updateBadge);
|
||||
|
||||
extractBtn.addEventListener('click', () => {
|
||||
const urls = extractURLs(urlInput.value);
|
||||
@@ -91,17 +103,26 @@
|
||||
openBtn.disabled = true;
|
||||
setStatus('');
|
||||
|
||||
const useLazy = lazyLoad.checked;
|
||||
const useLazy = lazyLoad.checked;
|
||||
const useDelayed = delayedLoad.checked && useLazy;
|
||||
let opened = 0;
|
||||
|
||||
for (const url of urls) {
|
||||
for (let i = 0; i < urls.length; i++) {
|
||||
const url = urls[i];
|
||||
try {
|
||||
let targetUrl = url;
|
||||
|
||||
if (useLazy) {
|
||||
// Build the extension loader URL with the target as ?url=…
|
||||
const loaderBase = chrome.runtime.getURL('loader.html');
|
||||
targetUrl = `${loaderBase}?url=${encodeURIComponent(url)}`;
|
||||
const params = new URLSearchParams({ url });
|
||||
|
||||
if (useDelayed) {
|
||||
// 1-based delay: first tab = 1s, second = 2s, …
|
||||
params.set('load_delay', i + 1);
|
||||
}
|
||||
|
||||
targetUrl = `${loaderBase}?${params.toString()}`;
|
||||
}
|
||||
|
||||
await chrome.tabs.create({ url: targetUrl, active: false });
|
||||
|
||||
Reference in New Issue
Block a user