Greasy Fork is available in English.

AlphaKaikin

Enables range selection and context menu display in the body of the Alphapolis novel

// ==UserScript==
// @name            AlphaKaikin
// @name:ja         α解禁
// @namespace       https://furyutei.work
// @license         MIT
// @version         0.0.1
// @description     Enables range selection and context menu display in the body of the Alphapolis novel
// @description:ja  アルファポリス小説本文の範囲選択やコンテキストメニュー表示等を可能に
// @author          furyu
// @match           https://www.alphapolis.co.jp/novel/*
// @grant           none
// @compatible      chrome
// @compatible      firefox
// @supportURL      https://github.com/furyutei/AlphaKaikin/issues
// @contributionURL https://memo.furyutei.work/about#%E6%B0%97%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%9F%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8A%E6%B0%97%E6%8C%81%E3%81%A1%E3%81%AF%E3%82%AE%E3%83%95%E3%83%88%E5%88%B8%E3%81%A7
// ==/UserScript==

( () => {
const
    remove_copyguard = () => {
        $( window ).on( 'focusout', ( event ) => event.stopImmediatePropagation() );
        let handlers = $._data( window ).events.focusout;
        handlers.unshift( handlers.pop() );
        $( '#novelBoby' ).css( 'user-select', '' );
        delete document.oncopy;
        delete document.onselectstart;
        delete document.oncontextmenu;
        document.addEventListener( 'copy', ( event ) => event.stopPropagation(), true );
        document.addEventListener( 'selectstart', ( event ) => event.stopPropagation(), true );
        document.addEventListener( 'contextmenu', ( event ) => event.stopPropagation(), true );
    },
    script = document.createElement( 'script' );

script.async = false;
script.textContent = '(' + remove_copyguard.toString() +')();';
document.documentElement.appendChild( script );
} )();