复制当前页面链接

添加一个菜单项来复制当前页面链接

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         复制当前页面链接
// @namespace    http://tampermonkey.net/
// @version      1.4
// @description  添加一个菜单项来复制当前页面链接
// @author       momo
// @license      MIT
// @match        https://www.bilibili.com/video/*
// @match        https://item.taobao.com/item.htm?*
// @match        https://detail.tmall.com/item.htm?*
// @grant        GM_setClipboard
// @grant        GM_registerMenuCommand
// ==/UserScript==

(function() {
  'use strict';
  GM_registerMenuCommand('复制当前页面链接', () => {
    GM_setClipboard((() => {
      switch (location.host) {
        case 'www.bilibili.com': {
          const avOrBV = location.pathname.split('/')[2];
          return `b23.tv/${avOrBV}`;
        }
        case 'item.taobao.com':
        case 'detail.tmall.com': {
          const search = new URLSearchParams(location.search);
          const params = new URLSearchParams({id: search.get('id')});
          const skuId = search.get('skuId');
          if(skuId) params.set('skuId', skuId);
          return `${location.host}/item.htm?${params}`;
        }
      }
    })());
  });
})();