Right-click blocker on img tags only

This commit is contained in:
Noah Petherbridge 2023-11-27 22:07:40 -08:00
parent f23a787d32
commit f618973e80

View File

@ -1,40 +1,16 @@
// Right-click button handler, to dissuade downloading.
document.addEventListener('DOMContentLoaded', () => {
// Whitelist of paths to NOT engage the script on (because it's annoying)
let path = window.location.pathname;
if (path === "/") return;
let pathWhitelist = [
"/messages",
"/forum/post",
"/f/",
"/settings",
"/photo/certification",
"/notes/me",
"/notes/u/",
"/admin",
"/about",
"/faq",
"/tos",
"/privacy",
"/contact",
];
for (let prefix of pathWhitelist) {
if (path.indexOf(prefix) === 0) {
return;
}
}
const $modal = document.querySelector("#rightclick-modal"),
$button = $modal.querySelector("button"),
cls = 'is-active';
console.log("register right clicks");
console.log($modal, $button);
document.addEventListener('contextmenu', (e) => {
$modal.classList.add(cls);
e.preventDefault();
(document.querySelectorAll('img, video') || []).forEach(node => {
node.addEventListener('contextmenu', (e) => {
$modal.classList.add(cls);
e.preventDefault();
});
});
$button.addEventListener('click', () => {
$modal.classList.remove(cls);
});