二维码转链接

检测网页上的二维码并尝试转换为链接

当前为 2025-04-30 提交的版本,查看 最新版本

// ==UserScript==
// @name         二维码转链接
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  检测网页上的二维码并尝试转换为链接
// @author       jiemo
// @match        *://tv.kanpian.club/*
// @grant        none
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/jsQR.min.js
// @license MIT
// @run-at       document-end
// ==/UserScript==

(function() {
  'use strict';
  // 延迟执行脚本
  setTimeout(() => {
    // 检测canvas元素
    const canvas = document.querySelector('#qrcode canvas');

    if (canvas) {
      try {
        // 获取canvas的图像数据
        const ctx = canvas.getContext('2d');
        const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

        // 使用jsQR解码二维码
        const code = jsQR(imageData.data, imageData.width, imageData.height);

        if (code) {
          console.log('二维码链接:', code.data);

          // 为document添加点击事件监听器,使用capture模式
          document.addEventListener('click', (event) => {
            const rect = canvas.getBoundingClientRect();
            if (event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom) {
              window.open(code.data, '_blank');
            }
          }, true); // 使用capture模式
        } else {
          console.log('未能解码二维码');
        }
      } catch (err) {
        console.log('解码二维码失败:', err);
      }
    } else {
      console.log('未找到二维码canvas元素');
    }
  }, 2000); // 延迟2秒执行
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址