您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Create a QR code from text selected / highlighted.
// @ts-check // ==UserScript== // @name QR from selection / highlight // @namespace http://tampermonkey.net/ // @version 0.2 // @description Create a QR code from text selected / highlighted. // @match http://*/* // @match https://*/* // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/qrcode-generator/1.4.4/qrcode.js // ==/UserScript== (function () { 'use strict'; const getSelectedText = () => { const activeEl = document.activeElement; const activeElTagName = activeEl ? activeEl.tagName.toLowerCase() : null; return activeElTagName === 'textarea' || activeElTagName === 'input' ? activeEl?.value.substring( activeEl.selectionStart, activeEl.selectionEnd, ) : window?.getSelection()?.toString(); }; const createAndAppendQR = (text) => { let qrElement = document.getElementById('generated-qr-code'); if (!qrElement) { qrElement = document.createElement('div'); qrElement.id = 'generated-qr-code'; document.body.appendChild(qrElement); } const qr = qrcode(0, 'L'); qr.addData(text); qr.make(); qrElement.innerHTML = qr.createImgTag(5); Object.assign(qrElement.style, { position: 'fixed', bottom: '0', right: '0', zIndex: '999999999', }); }; const handleEvent = () => { const selectedText = getSelectedText(); if (selectedText) createAndAppendQR(selectedText); }; ['mouseup', 'keyup'].forEach((eventType) => { document.addEventListener(eventType, handleEvent); }); })();