找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 428|回复: 11

[建议] 有没有右键可以识别二维码的功能啊

[复制链接]

84

主题

299

回帖

2094

积分

金牌会员

积分
2094
发表于 2025-5-24 17:23:24 | 显示全部楼层 |阅读模式
类似微信那样,长按二维码可以识别二维码并进行跳转。
回复

使用道具 举报

5

主题

365

回帖

4114

积分

论坛元老

吃梦的躺平懒癌患者

积分
4114
发表于 2025-5-24 20:49:34 | 显示全部楼层
直接用截图工具截图上,带有识别。
我用这种方式 Pixpin
Windows 11.23H2.22631.3447 x64 | CentBrowser 5.1.1130.129
回复

使用道具 举报

9

主题

8124

回帖

2万

积分

超级版主

(^^ゞ

积分
22784
发表于 2025-5-24 22:34:26 | 显示全部楼层
这个行不行呢?QRQ
¯\(°_o)/¯
回复

使用道具 举报

1

主题

13

回帖

77

积分

注册会员

积分
77
发表于 2025-5-28 18:07:34 | 显示全部楼层
很早就有二维码插件提供右键菜单一键解析了,至于二维码表达的只是文本,内容不一定是可跳转的地址
回复

使用道具 举报

84

主题

299

回帖

2094

积分

金牌会员

积分
2094
 楼主| 发表于 2025-5-30 21:44:25 | 显示全部楼层
APPID 发表于 2025-5-24 20:49
直接用截图工具截图上,带有识别。
我用这种方式 Pixpin

pixpin没有识别二维码的功能吧
回复

使用道具 举报

84

主题

299

回帖

2094

积分

金牌会员

积分
2094
 楼主| 发表于 2025-5-30 21:46:02 | 显示全部楼层
S8F8ry 发表于 2025-5-24 22:34
这个行不行呢?QRQ

插件也行,但是不这么好用,凑合能用。
回复

使用道具 举报

5

主题

365

回帖

4114

积分

论坛元老

吃梦的躺平懒癌患者

积分
4114
发表于 2025-5-31 16:06:12 | 显示全部楼层
zytu83 发表于 2025-5-30 21:44
pixpin没有识别二维码的功能吧

有的,最新版设置里面找即可,或者你看更新日志
Windows 11.23H2.22631.3447 x64 | CentBrowser 5.1.1130.129
回复

使用道具 举报

9

主题

8124

回帖

2万

积分

超级版主

(^^ゞ

积分
22784
发表于 2025-5-31 20:20:47 | 显示全部楼层
zytu83 发表于 2025-5-30 21:44
pixpin没有识别二维码的功能吧

PixPin 的截图设置里可以启用,默认快捷键是 Q。
¯\(°_o)/¯
回复

使用道具 举报

0

主题

37

回帖

450

积分

中级会员

积分
450
发表于 7 天前 | 显示全部楼层
去插件商店搜索,一大把可以用的吧
回复

使用道具 举报

45

主题

409

回帖

2548

积分

金牌会员

积分
2548
发表于 7 天前 | 显示全部楼层
本帖最后由 coult3 于 2025-6-1 15:13 编辑

用ai写了一个油猴/暴力猴脚本

测试地址:在线二维码生成器 | 菜鸟工具

  1. // ==UserScript==
  2. // @name         右键识别二维码并打开链接 QR Code Right Click Handler
  3. // @version      1.0
  4. // @description  右键识别二维码并打开链接
  5. // @author       You
  6. // @match        *://*/*
  7. // @grant        none
  8. // @require      https://cdn.jsdelivr.net/npm/jsqr@1.4.0/dist/jsQR.js
  9. // ==/UserScript==

  10. (function() {
  11.     'use strict';

  12.     // 创建canvas用于图像处理
  13.     const canvas = document.createElement('canvas');
  14.     const ctx = canvas.getContext('2d');

  15.     // 识别二维码的函数
  16.     function decodeQRCode(imgElement) {
  17.         return new Promise((resolve, reject) => {
  18.             // 设置canvas尺寸
  19.             canvas.width = imgElement.naturalWidth || imgElement.width;
  20.             canvas.height = imgElement.naturalHeight || imgElement.height;

  21.             // 绘制图像到canvas
  22.             ctx.drawImage(imgElement, 0, 0);

  23.             // 获取图像数据
  24.             const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);

  25.             // 使用jsQR库识别二维码
  26.             if (typeof jsQR !== 'undefined') {
  27.                 const code = jsQR(imageData.data, imageData.width, imageData.height);
  28.                 if (code) {
  29.                     resolve(code.data);
  30.                 } else {
  31.                     reject('未识别到二维码');
  32.                 }
  33.             } else {
  34.                 reject('jsQR库未加载');
  35.             }
  36.         });
  37.     }

  38.     // 检查是否为HTTP/HTTPS链接
  39.     function isHttpUrl(string) {
  40.         return string.startsWith('http://') || string.startsWith('https://');
  41.     }

  42.     // 右键点击事件处理
  43.     document.addEventListener('contextmenu', async function(e) {
  44.         const target = e.target;

  45.         // 检查是否为图片元素
  46.         if (target.tagName === 'IMG' ||
  47.             (target.style && target.style.backgroundImage) ||
  48.             target.tagName === 'CANVAS') {

  49.             try {
  50.                 let imgElement = target;

  51.                 // 如果是背景图片,创建img元素
  52.                 if (target.style && target.style.backgroundImage) {
  53.                     const bgImg = target.style.backgroundImage;
  54.                     const url = bgImg.slice(4, -1).replace(/"/g, "");
  55.                     imgElement = new Image();
  56.                     imgElement.crossOrigin = 'anonymous';
  57.                     await new Promise((resolve, reject) => {
  58.                         imgElement.onload = resolve;
  59.                         imgElement.onerror = reject;
  60.                         imgElement.src = url;
  61.                     });
  62.                 }

  63.                 // 识别二维码
  64.                 const qrData = await decodeQRCode(imgElement);

  65.                 // 如果是HTTP链接,阻止默认右键菜单并打开链接
  66.                 if (isHttpUrl(qrData)) {
  67.                     e.preventDefault();
  68.                     window.open(qrData, '_blank');
  69.                     return false;
  70.                 }
  71.             } catch (error) {
  72.                 // 识别失败,继续显示默认右键菜单
  73.                 console.log('二维码识别失败:', error);
  74.             }
  75.         }

  76.         // 默认情况下显示原本的右键菜单
  77.         return true;
  78.     });

  79. })();
复制代码


回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|百分浏览器论坛

GMT+8, 2025-6-8 07:02 , Processed in 0.018850 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表