Podgląd zdjęć Adobe
Artykuł z 27 maja, 2026
Otwórz wszystkie zdjęcia z Adobe w nowych kartach i wygodnie przeglądaj zdjęcia w poszukiwaniu znaków wodnych. Pamiętaj o zezwoleniu na otwieranie wielu kart jednocześnie – uprawnienia przeglądarki dla danej strony.
Poniższy kod wklej do konsoli (F12 DEV TOOLS)
(function() {
const results = new Map();
function extractBgUrls(bgString) {
const urls = [];
const regex = /url\(["']?([^"')]+)["']?\)/gi;
let m;
while ((m = regex.exec(bgString)) !== null) urls.push(m[1]);
return urls;
}
function getFilename(url) {
try { return decodeURIComponent(url.split('/').pop().split('?')[0]); }
catch(e) { return url; }
}
function getBaseId(filename) {
let name = filename.replace(/\.[a-z0-9]+$/i, '');
name = name.replace(/^[^A-Z0-9]*(Slider[-_])?/i, match => match.replace(/Slider[-_]/i, ''));
const match1000 = name.match(/(1000_F_\d+)/i);
if (match1000) return match1000[1];
const matchAdobe = name.match(/(AdobeStock_\d+)/i);
if (matchAdobe) return matchAdobe[1];
return null;
}
function scoreFilename(filename) {
let score = 0;
if (!/\-\d+x\d+\.[a-z]+$/i.test(filename)) score += 10;
if (!/_Preview/i.test(filename)) score += 5;
if (!/^Slider-/i.test(filename)) score += 3;
if (!/_Preview-1/i.test(filename)) score += 2;
return score;
}
function addUrl(url) {
if (!url || url.startsWith('data:') || url === 'about:blank') return;
const filename = getFilename(url);
const baseId = getBaseId(filename);
if (!baseId) return;
if (!results.has(baseId)) {
results.set(baseId, { url, filename });
} else {
const currentScore = scoreFilename(results.get(baseId).filename);
const newScore = scoreFilename(filename);
if (newScore > currentScore) results.set(baseId, { url, filename });
}
}
const imgAttrs = ['src','data-src','data-original','data-lazy-src','data-bg','data-img','data-full-url'];
document.querySelectorAll('img').forEach(img => {
imgAttrs.forEach(attr => { const v = img.getAttribute(attr); if (v) addUrl(v); });
['srcset','data-srcset'].forEach(attr => {
const v = img.getAttribute(attr);
if (v) v.split(',').forEach(p => { const u = p.trim().split(/\s+/)[0]; if (u) addUrl(u); });
});
});
document.querySelectorAll('source').forEach(src => {
['srcset','data-srcset'].forEach(attr => {
const v = src.getAttribute(attr);
if (v) v.split(',').forEach(p => { const u = p.trim().split(/\s+/)[0]; if (u) addUrl(u); });
});
});
document.querySelectorAll('[style]').forEach(el => {
const bg = el.style.backgroundImage;
if (bg && bg !== 'none') extractBgUrls(bg).forEach(addUrl);
});
document.querySelectorAll('*').forEach(el => {
try {
const bg = window.getComputedStyle(el).backgroundImage;
if (bg && bg !== 'none') extractBgUrls(bg).forEach(addUrl);
} catch(e) {}
});
document.querySelectorAll('style').forEach(s => extractBgUrls(s.textContent || '').forEach(addUrl));
document.querySelectorAll('a[href]').forEach(a => {
const href = a.getAttribute('href') || '';
if (/\.(jpg|jpeg|png|webp|gif|svg)(\?|$)/i.test(href)) addUrl(href);
});
if (results.size === 0) {
console.warn('⚠️ Brak zdjęć Adobe Stock na tej stronie.');
return;
}
// ── Otwieramy każde zdjęcie w nowej karcie ────────────────────────────────
const urls = [...results.values()].map(({ url }) => url);
console.log(`Otwieranie ${urls.length} zdjęć...`);
urls.forEach((url, i) => setTimeout(() => window.open(url, '_blank'), i * 200));
})();