Rainbow background у выделяемого текста

zelenka

// ==UserScript==
// @name         Rainbow background у выделяемого текста
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  zelenka
// @author       Здравствуйте
// @match        https://zelenka.guru/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=zelenka.guru
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    document.addEventListener('selectionchange', function() {
        var style = document.createElement('style');
        var colors = ['rgba(255, 0, 0, 0.3)', 'rgba(255, 127, 0, 0.3)', 'rgba(255, 255, 0, 0.3)', 'rgba(0, 255, 0, 0.3)', 'rgba(0, 0, 255, 0.3)', 'rgba(75, 0, 130, 0.3)', 'rgba(139, 0, 255, 0.3)'];
        var randomColorIndex = Math.floor(Math.random() * colors.length);
        var randomColor = colors[randomColorIndex];

        style.innerHTML = '::selection { background-color: ' + randomColor + '; color: white; }';

        var existingStyle = document.getElementById('rainbow-selection-style');
        if (existingStyle) {
            document.head.removeChild(existingStyle);
        }

        style.id = 'rainbow-selection-style';
        document.head.appendChild(style);
    });
})();