MediaWiki:Common.js: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Created page with "Any JavaScript here will be loaded for all users on every page load.: $(function () { Adds copy button Chatgp: function addCopyButton(pre) { if ($(pre).data('copyButtonAdded')) return; $(pre).data('copyButtonAdded', true); var $pre = $(pre).closest('.mw-highlight, pre').first(); var target = $(pre).text(); var $wrapper = $pre.parent(); $wrapper.css('position', 'relative'); var $btn = $('<button>')..."
 
Tag: Replaced
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
$(function () {
/* Adds copy button Chatgp */
    function addCopyButton(pre) {
        if ($(pre).data('copyButtonAdded')) return;
        $(pre).data('copyButtonAdded', true);
        var $pre = $(pre).closest('.mw-highlight, pre').first();
        var target = $(pre).text();
        var $wrapper = $pre.parent();
        $wrapper.css('position', 'relative');
        var $btn = $('<button>')
            .text('???? Copia')
            .css({
                position: 'absolute',
                top: '6px',
                right: '6px',
                fontSize: '12px',
                cursor: 'pointer',
                zIndex: 1000
            })
            .on('click', async function () {
                try {
                    await navigator.clipboard.writeText(target);
                    $btn.text('✔ Copiato');
                    setTimeout(() => $btn.text('???? Copia'), 1500);
                } catch (e) {
                    console.error(e);
                    alert('Errore copia');
                }
            });
        $wrapper.append($btn);
    }
    // pre normali
    $('pre').each(function () {
        addCopyButton(this);
    });
});

Latest revision as of 09:57, 2 July 2026

/* Any JavaScript here will be loaded for all users on every page load. */