Greasy Fork

来自缓存

Greasy Fork is available in English.

elementUI icon点击复制

elementUI icon 页点击图标复制

当前为 2022-09-15 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         elementUI icon点击复制
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  elementUI icon 页点击图标复制
// @author       gkshi
// @match        *://element.eleme.cn/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=eleme.cn
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    window.onload = function () {

        const href = location.href
        if (/component\/icon/.test(href)) bindClick()
        toggoleIcon()
    }


})();


function toggoleIcon () {
    const navs = document.querySelectorAll('.nav-item')
    let iconBtn
    for(let i = 0; i < navs.length; i++) {
        if (/icon/ig.test(navs[i].innerText)) {
            iconBtn = navs[i]
            break
        }
    }
    iconBtn.addEventListener('click', () => {

        setTimeout(bindClick, 1000)
    })
}


function bindClick() {
    const liList = document.querySelectorAll('.icon-list li')
    liList.forEach(li => {
        li.addEventListener('click', () => {
            const text = `<i class="${li.innerText}"></i>`
            copyText(text)
        })
    })

}


function copyText(text){
    var textareaC = document.createElement('textarea');
    textareaC.setAttribute('readonly', 'readonly'); //设置只读属性防止手机上弹出软键盘
    textareaC.value = text;
    document.body.appendChild(textareaC); //将textarea添加为body子元素
    textareaC.select();
    var res = document.execCommand('copy');
    document.body.removeChild(textareaC);//移除DOM元素
    tip('复制成功!')
    return res;
}

let handler
function tip(text) {
    handler && clearTimeout(handler)
    const iconEl = document.querySelector('.success-copy-icon')
    if (iconEl) iconEl.remove()
    const div = document.createElement('div')
    div.className = 'success-copy-icon'
    const styles = `
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  width: 100px;
  height: 30px;
  transform: translate(-50%, -50%);
  line-height: 30px;
  text-align: center;
  background-color: lightblue;
  box-shadow: 0 0 20px 5px rgb(150 150 150 / 30%);
  border-radius: 5px;
  `
  div.style = styles
    div.textContent = text
    const body = document.querySelector('body')
    body.appendChild(div)
    handler = setTimeout(() => {
        const iconEl = document.querySelector('.success-copy-icon')
        if (iconEl) iconEl.remove()
    }, 1000)
}