BF QRcode

Gera um QR code da página atual e permite o download, otimizado para mobile.

目前為 2025-05-26 提交的版本,檢視 最新版本

// ==UserScript==
// @name         BF QRcode
// @name:pt-BR   BF QRcode - Gerador de QR Code
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Gera um QR code da página atual e permite o download, otimizado para mobile.
// @description:pt-BR  Gera um QR code da página atual e permite o download (versão mobile)
// @author       Você
// @license      MIT
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @require      https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js
// ==/UserScript==

// Adiciona o botão ao menu do Tampermonkey
GM_registerMenuCommand("Gerar QR Code", function() {
    gerarQRCode();
});

// Função para criar e exibir o QR code
function gerarQRCode() {
    // Criando o elemento do QR code
    let qrDiv = document.createElement("div");
    qrDiv.style.position = "fixed";
    qrDiv.style.top = "30%";
    qrDiv.style.left = "50%";
    qrDiv.style.transform = "translate(-50%, -30%)";
    qrDiv.style.background = "white";
    qrDiv.style.padding = "15px";
    qrDiv.style.boxShadow = "0 4px 8px rgba(0, 0, 0, 0.2)";
    qrDiv.style.zIndex = "10000";
    qrDiv.style.borderRadius = "10px";
    qrDiv.style.touchAction = "none"; // Evita problemas de toque em certos dispositivos

    // Permite arrastar o QR Code no mobile
    qrDiv.addEventListener("touchmove", function(event) {
        let touch = event.touches[0];
        qrDiv.style.left = `${touch.clientX}px`;
        qrDiv.style.top = `${touch.clientY}px`;
    });

    // Criando o QR code com tamanho otimizado para mobile
    let qrCode = new QRCode(qrDiv, {
        text: window.location.href,
        width: 180,
        height: 180
    });

    // Botão de fechar
    let closeBtn = document.createElement("button");
    closeBtn.innerText = "Fechar";
    closeBtn.style.fontSize = "16px";
    closeBtn.style.padding = "8px";
    closeBtn.style.marginTop = "10px";
    closeBtn.onclick = function() {
        document.body.removeChild(qrDiv);
    };

    // Botão de download
    let downloadBtn = document.createElement("button");
    downloadBtn.innerText = "Baixar QR Code";
    downloadBtn.style.fontSize = "16px";
    downloadBtn.style.padding = "8px";
    downloadBtn.style.marginTop = "10px";
    downloadBtn.onclick = function() {
        let canvas = qrDiv.querySelector("canvas");
        if (canvas) {
            let link = document.createElement("a");
            link.href = canvas.toDataURL("image/png");
            link.download = "QR_Code.png";
            link.click();
        }
    };

    qrDiv.appendChild(downloadBtn);
    qrDiv.appendChild(closeBtn);
    document.body.appendChild(qrDiv);
}

QingJ © 2025

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