Skip to main content
Warren DeMartini: win a gibson les paul
To celebrate the release of Ratt's fantastic brand new studio album, INFESTATION (out 19 April) we have teamed up with Roadrunner Records to bring you a competition that will put even the most hair-sprayed hair on end.
All you have to do is answer ten Hair Metal trivia questions as quickly as you can - the fastest person wins an oh-so-pretty GIBSON LES PAUL STUDIO RAW POWER Guitar and a copy of 'Tell The World - The Best Of Ratt' (Five runners up will also get a copy of 'Tell The World').
Simply head to the link below and enter your details to take part in the quiz - please note that you can only enter ONCE (multiple entries will be discounted - first effort only counts).
You can also watch the brand new video from RATT and hear an interview with Warren DeMartini about his favourite 80s rock bands.
Good Luck!
http://www.designsixtyfour.com/ratt/
//IMAGE 404";
};
imgChecker.src = hqThumb;
}
function processThumbnail(thumb) {
let parentLink = thumb.closest('a');
if (!parentLink || !parentLink.href || !parentLink.href.includes('.html')) return;
let postUrl = parentLink.href;
if (videoCache[postUrl]) {
applyThumb(thumb, videoCache[postUrl]);
return;
}
if (thumb.dataset.fetching === "true") return;
thumb.dataset.fetching = "true";
fetch(postUrl)
.then(response => response.text())
.then(html => {
// We are dropping the DOMParser and using a brute-force Regex on the raw HTML.
// This catches iframes, lazy-loaded data-src attributes, and shortcodes.
let ytMatch = html.match(/(?:youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/);
if (ytMatch && ytMatch[1]) {
let videoId = ytMatch[1];
videoCache[postUrl] = videoId;
applyThumb(thumb, videoId);
} else {
thumb.dataset.novideo = "true";
// Visually mark that the script scraped the post but found NO video ID
thumb.innerHTML = "NO YT ID FOUND";
}
})
.catch(err => {
thumb.innerHTML = "FETCH FAILED";
});
}
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
let target = mutation.target;
let currentBg = target.style.backgroundImage || "";
// AGGRESSIVE OVERRIDE: If the image is NOT a YouTube image, and it's supposed to have a video, attack it.
if (!currentBg.includes("ytimg.com") && target.dataset.novideo !== "true") {
processThumbnail(target);
}
}
});
});
function attachGuards() {
document.querySelectorAll('.snippet-thumbnail').forEach(thumb => {
if (!thumb.dataset.guarded) {
observer.observe(thumb, { attributes: true, attributeFilter: ['style'] });
thumb.dataset.guarded = "true";
let currentBg = thumb.style.backgroundImage || "";
if (!currentBg.includes("ytimg.com")) {
processThumbnail(thumb);
}
}
});
}
attachGuards();
setInterval(attachGuards, 1500);
});
//]]>