(() => {
// 1) Bloque clic droit (capture = plus fiable)
document.addEventListener(
"contextmenu",
(e) => {
e.preventDefault()
},
{ capture: true }
)
// 2) Bloque drag d’images
document.addEventListener(
"dragstart",
(e) => {
const el = e.target
if (el && el.tagName === "IMG") e.preventDefault()
},
{ capture: true }
)
// 3) Empêche sélection + drag via CSS
const styleId = "anti-download-style"
if (!document.getElementById(styleId)) {
const style = document.createElement("style")
style.id = styleId
style.textContent = `
img {
-webkit-user-drag: none !important;
user-select: none !important;
-webkit-user-select: none !important;
}
`
document.head.appendChild(style)
}
// 4) Framer charge parfois des images après coup → on force draggable=false
const apply = () => {
document.querySelectorAll("img").forEach((img) => {
img.setAttribute("draggable", "false")
})
}
apply()
const obs = new MutationObserver(apply)
obs.observe(document.documentElement, { childList: true, subtree: true })
})()