Drupal Copy Prevention Bypasser

Bypass Drupal Copy Prevention on sites that use it.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name     	Drupal Copy Prevention Bypasser
// @namespace   https://github.com/Enchoseon/enchos-assorted-userscripts/raw/main/drupal-copy-prevention-bypasser.user.js
// @version  	1.0.1
// @description Bypass Drupal Copy Prevention on sites that use it.
// @author   	Enchoseon
// @include  	*
// @grant    	none
// ==/UserScript==

(function() {
    "use strict";
    if (typeof Drupal !== "undefined" && typeof Drupal.behaviors.copyprevention !== "undefined") {
        console.log("Drupal site using copyprevention detected");
        Object.values(document.getElementsByClassName("copyprevention-processed")).forEach((elem) => {
            elem.style.zIndex = "69420";
            elem.replaceWith(elem.cloneNode(true)); // Extremely unclean removal of event listeners
        });
    }
})();