mic_none

User:Qwerfjkl/scripts/copy.js Source: en.wikipedia.org/wiki/User:Qwerfjkl/scripts/copy.js

$(function() {
	mw.loader.load('mediawiki.Title');
	$(mw.util.addPortletLink("p-cactions", "#", "copy", "ca-copy", "test"))
	.click(function(e){
		e.preventDefault();
		copyToClipboard('Hi!');
	});
	
});

function copyToClipboard(text) { // Taken from stackoverflow
    if (window.clipboardData && window.clipboardData.setData) {
        // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.
        return window.clipboardData.setData("Text", text);

    }
    else if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
        var textarea = document.createElement("textarea");
        textarea.textContent = text;
        textarea.style.position = "fixed";  // Prevent scrolling to bottom of page in Microsoft Edge.
        document.body.appendChild(textarea);
        textarea.select();
        try {
            return document.execCommand("copy");  // Security exception may be thrown by some browsers.
        }
        catch (ex) {
            console.warn("Copy to clipboard failed.", ex);
            return prompt("Copy to clipboard: Ctrl+C, Enter", text);
        }
        finally {
            document.body.removeChild(textarea);
        }
    }
}