用快捷键复制 MarkDown 格式的超链接或标题到剪贴板
// ==UserScript==
// @name 快捷键复制 MarkDown 格式的超链接或标题
// @namespace https://greasyfork.org/users/518374
// @version 0.3
// @description 用快捷键复制 MarkDown 格式的超链接或标题到剪贴板
// @author InMirrors
// @match *://*/*
// @grant GM_registerMenuCommand
// @grant GM_setClipboard
// @icon https://plugins.jetbrains.com/files/18897/166369/icon/pluginIcon.png
// @license MIT
// ==/UserScript==
(function() {
'use strict';
function copyWithConfirmation(text) {
GM_setClipboard(text);
// Show confirmation message
var confirmation = document.createElement("div");
confirmation.innerHTML = "Copied";
confirmation.style.cssText = `
position : fixed;
left : 50%;
bottom : 30px;
padding : 10px;
background : lightgreen;
opacity : 0.8;
border-radius : 20px;
box-shadow: 0px 0px 3px teal;
font-weight : bold;
font-size:15px;
z-index : 999;
`
document.body.appendChild(confirmation);
// Remove after 2 seconds
setTimeout(function() {
confirmation.remove();
}, 2000);
}
GM_registerMenuCommand("复制标题及链接", () => copyWithConfirmation(`[${document.title}](${document.URL})`));
GM_registerMenuCommand("仅复制标题", () => copyWithConfirmation(document.title));
GM_registerMenuCommand("仅复制链接", () => copyWithConfirmation(document.URL));
document.onkeydown = function(event) { // 修改以下的 if 条件实现自定义快捷键,键值请参见:https://keycode.info/
if (event.altKey && event.keyCode == 82) {
copyWithConfirmation(document.title);
}
if (event.shiftKey && event.altKey && event.keyCode == 82) {
copyWithConfirmation(`[${document.title}](${document.URL})`);
}
if (event.altKey && event.keyCode == 72) {
copyWithConfirmation(`<a href="${document.URL}">${document.title}</a>`);
}
}
})();