用快捷键复制 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>`);
- }
- }
- })();