监听按键操作,尝试捕获和修改复制操作(只有在使用快捷键复制时才有效)
// ==UserScript==
// @name 哔哩哔哩专栏去除复制尾巴
// @namespace https://github.com/ZakiuC
// @version 0.1
// @description 监听按键操作,尝试捕获和修改复制操作(只有在使用快捷键复制时才有效)
// @author zakiu
// @match https://www.bilibili.com/*
// @match http://*.bilibili.com/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
console.log('哔哩哔哩去除复制尾巴脚本已加载,开始监听按键');
document.addEventListener('keydown', function(event) {
// 检查是否按下了Ctrl+C或Cmd+C
if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
console.log('检测到复制按键操作');
setTimeout(processCopyOperation, 100);// 延迟处理,以确保选中的文本是最新的
}
});
function processCopyOperation() {
let selection = document.getSelection().toString();
if (!selection) {
console.log('未检测到选中的文本');
return;
}
console.log('选中的原始文本:', selection);
let modifiedText = selection.replace(/ 作者:[^]+出处:bilibili$/, '');
console.log('处理后的文本:', modifiedText);
// 为了修改剪贴板内容,我们需要一种方法将文本再次放回剪贴板
// 下面的方法可能需要用户权限来执行
navigator.clipboard.writeText(modifiedText).then(() => {
console.log('剪贴板已更新');
}).catch(err => {
console.log('无法写入剪贴板:', err);
});
}
})();