您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a contextmenu command to copy URL with '#' anchor
// ==UserScript== // @name Copy URL with Hash // @version 0.1.1 // @description Add a contextmenu command to copy URL with '#' anchor // @license MIT // @author eight04 <[email protected]> // @homepageURL https://github.com/eight04/copy-url-with-hash // @supportURL https://github.com/eight04/copy-url-with-hash/issues // @incompatible chrome // @incompatible opera // @incompatible safari // @include * // @require https://gf.qytechs.cn/scripts/33034-gm-context/code/GM_context.js?version=219427 // @grant none // @namespace https://gf.qytechs.cn/users/813 // ==/UserScript== /* global GM_context */ (function(){ let hash; const item = { label: "Copy URL with #hash", onclick() { const url = new URL(location.href); url.hash = hash; const input = document.createElement("input"); input.value = url.href; document.body.appendChild(input); input.select(); document.execCommand("copy"); input.remove(); } }; GM_context.add({ context: ["page", "link"], items: [item], oncontext(e) { hash = findHash(e.target); if (!hash) return false; GM_context.update(item, {label: `Copy URL with #${hash}`}); } }); function findHash(node) { if (node.id || node.name) { return node.id || node.name; } const anchor = node.querySelector("[id], a[name]"); if (anchor) { return anchor.id || anchor.name; } const head = node.closest("h1, h2, h3, h4, h5, h6"); if (head) { if (head.id) { return head.id; } const anchor = head.querySelector("[id], a[name]"); if (anchor) { return anchor.id || anchor.name; } } const header = head.closest("header"); if (header) { if (header.id) { return header.id; } const anchor = header.querySelector("[id], a[name]"); if (anchor) { return anchor.id || anchor.name; } } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址