Selects all text on the page and copies it to clipboard with a button click
// ==UserScript==
// @name Force Select All + Copy Text
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Selects all text on the page and copies it to clipboard with a button click
// @match *://*/*
// @grant clipboardWrite
// @run-at document-idle
// ==/UserScript==
(function () {
'use strict';
const btn = document.createElement('button');
btn.textContent = 'Select / Copy';
btn.style.cssText = `
position: fixed;
bottom: 18px;
right: 18px;
z-index: 2147483647;
padding: 10px 14px;
border-radius: 999px;
border: none;
background: #111;
color: white;
font-size: 14px;
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
box-shadow: 0 4px 18px rgba(0,0,0,.35);
`;
btn.addEventListener('click', async () => {
try {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(document.body);
selection.removeAllRanges();
selection.addRange(range);
const text = document.body.innerText || document.documentElement.innerText || '';
if (navigator.clipboard && text.trim()) {
await navigator.clipboard.writeText(text);
btn.textContent = 'Copied';
} else {
btn.textContent = 'Selected';
}
setTimeout(() => {
btn.textContent = 'Select / Copy';
}, 1400);
} catch (err) {
btn.textContent = 'Blocked';
setTimeout(() => {
btn.textContent = 'Select / Copy';
}, 1400);
}
});
document.documentElement.appendChild(btn);
})();