Greasy Fork is available in English.
Auoto Copy Select Text.
当前为
// ==UserScript==
// @name 选择自动复制-解除复制限制
// @namespace http://tampermonkey.net/
// @version 2024-12-26
// @description Auoto Copy Select Text.
// @author M&W
// @match *://*/*
// @include *
// @icon https://www.google.com/s2/favicons?sz=64&domain=51cto.com
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// 复制文本到剪贴板的函数
function copyToClipboard(text, e) {
var textarea = document.createElement('textarea');
textarea.value = text;
textarea.style.position = 'absolute';
textarea.style.left = '-9999px';
textarea.style.top = '-9999px';
document.body.appendChild(textarea);
textarea.select();
try {
var successful = document.execCommand('copy');
console.log(successful ? 'Text copied to clipboard' : 'Failed to copy text');
} catch (err) {
console.error('Failed to copy text: ', err);
}
document.body.removeChild(textarea);
showCopyMessage(e)
}
var copyMessage = undefined;
function showCopyMessage(e) {
// 创建提示信息
if(copyMessage == undefined){
copyMessage = document.createElement('div');
}
copyMessage.textContent = '已复制';
copyMessage.style.position = 'absolute';
copyMessage.style.backgroundColor = '#fff';
copyMessage.style.color = 'black';
copyMessage.style.borderRadius = '4px';
copyMessage.style.padding = '5px 10px';
copyMessage.style.fontSize = '14px';
copyMessage.style.fontWeight = 'bold';
copyMessage.style.zIndex = '10000';
document.body.appendChild(copyMessage);
// 定位提示信息到按钮下方
copyMessage.style.left = `${e.pageX + 15}px`;
copyMessage.style.top = `${e.pageY + 15}px`;
// 2秒后移除提示信息
setTimeout(function () {
copyMessage.remove();
}, 1000);
}
// 鼠标释放事件,检查是否有文本被选中
document.addEventListener('mouseup', function (e) {
var selectedText = window.getSelection().toString().trim();
if (selectedText.length > 0) {
copyToClipboard(selectedText, e);
}
});
})();