// ==UserScript== // @name 网页转二维码 // @namespace http://tampermonkey.net/ // @match *://*/* // @grant unsafeWindow // @run-at document-start // @version 1.0 // @license MIT // @author Berger // @require https://registry.npmmirror.com/sweetalert2/10.16.6/files/dist/sweetalert2.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js // @description 展示网页二维码,供手机扫描 // @grant GM_registerMenuCommand // @downloadURL https://update.greasyfork.icu/scripts/510407/%E7%BD%91%E9%A1%B5%E8%BD%AC%E4%BA%8C%E7%BB%B4%E7%A0%81.user.js // @updateURL https://update.greasyfork.icu/scripts/510407/%E7%BD%91%E9%A1%B5%E8%BD%AC%E4%BA%8C%E7%BB%B4%E7%A0%81.meta.js // ==/UserScript== (function () { 'use strict'; function registerMenuCommand() { GM_registerMenuCommand('⚙️ 生成二维码 快捷键:Alt + S', () => { showQRDialog(location.href) }); } function registerShortcut() { window.addEventListener('keydown', (event) => { if (event.altKey && event.key === 's') { event.preventDefault(); // 阻止默认行为 showQRDialog(location.href); // 弹出二维码窗口 } }); } function showQRDialog(url) { // 创建画布元素 const canvas = document.createElement('canvas'); const qr = new QRious({ element: canvas, value: url, size: 200 // 设置二维码大小 }); // 将画布转换为图像URL const imgSrc = canvas.toDataURL(); Swal.fire({ title: '本网站二维码', html: `二维码`, // 使用图像源 showConfirmButton: false, showCloseButton: true, footer: `tips:本项目由 BergerLee 提供技术支持` }); } let main = { init() { registerMenuCommand() registerShortcut() }, } window.addEventListener('DOMContentLoaded', main.init.bind(main)); })();