Greasy Fork is available in English.

足球计算器脚本

足球计算器去除点击限制、最大倍数、禁用双击放大

// ==UserScript==
// @name         足球计算器脚本
// @namespace    https://m.sporttery.cn/mjc/jsq/zqbqc/
// @supportURL   https://m.sporttery.cn/mjc/jsq/zqbqc/
// @version      2024-07-06
// @description  足球计算器去除点击限制、最大倍数、禁用双击放大
// @author       韩鹏飞
// @match        *://m.sporttery.cn
// @match        *://m.sporttery.cn/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    // 移除页面中的点击限制样式
    function removeClickRestrictions() {
        const spans = document.querySelectorAll('span.oddsDis, span.oddsPanDis');
        spans.forEach(span => {
            span.classList.remove('oddsDis');
            span.classList.remove('oddsPanDis');
        });

        // 重写样式
        const style = document.createElement('style');
        style.innerHTML = `
            .oddsDis, .oddsPanDis {
                display: inline !important;
                visibility: visible !important;
                opacity: 1 !important;
            }
        `;
        document.head.appendChild(style);
    }

    // 禁用页面上的双击放大功能
    function disableDoubleTapZoom() {
        document.addEventListener('dblclick', function (event) {
            event.preventDefault();
        }, true);
    }

    // 重写 alert 函数,阻止弹窗
    function suppressAlerts() {
        const originalAlert = window.alert;
        window.alert = function (message) {
            // 可以在这里记录日志等,但不做任何弹窗操作
        };
    }

    // 重置计算器的最大投注倍数
    function resetMaxBetMultiplier() {
        large_times = 1000; // 默认值设置为1000
        console.log('最大投注倍数已设置为:', large_times);
    }

    // 重写计算器的点击和删除按钮逻辑
    function overrideCalculatorFunctions() {
        if (lotFunc) {
            lotFunc.clickKeyboard = function (num) {
                var nums = $('#times').text();
                if ($("#initTimes").val() == "true") {
                    $("#initTimes").val("false");
                    if (num == 0) {
                        nums = 1;
                    } else {
                        nums = num;
                    }
                } else {
                    if (nums == "") {
                        nums = 1;
                    }
                    nums = nums + num;
                    if (nums > large_times) {
                        alert("投注倍数最高到" + large_times + "倍");
                        nums = large_times;
                    }
                }
                $()
                $('#times').text(nums);
                $('#multiple').text(nums);
            };

            // 查找页面上所有的 div 元素,假设按钮是唯一的或可以通过特定的类或 ID 选择
            var deleteButton = document.querySelector('div[onclick="lotFunc.clickKeyboardDel()"]');

            // 如果找到该元素,修改其文本内容为“清除”
            if (deleteButton) {
                deleteButton.textContent = '清除';
            }
            //删除按钮
            lotFunc.clickKeyboardDel = function () {
                var nums = $('#times').text(); // 获取当前的数字字符串

                nums = 1;
                $("#initTimes").val("true");
                
                // 更新页面元素
                $('#times').text(nums);
                $('#multiple').text(nums);
            };
        }
    }

    // 监听页面加载完成事件
    window.addEventListener('load', function () {

        removeClickRestrictions(); // 移除页面中的点击限制样式,使得所有相关的 <span> 标签都可点击
        disableDoubleTapZoom(); // 禁用 Safari 浏览器中的双击放大功能,通过阻止 dblclick 事件的默认行为
        suppressAlerts(); // 重写 window.alert 函数,以阻止页面上的 alert 弹窗,避免影响用户体验
        resetMaxBetMultiplier(); // 如果页面上有定义 large_times 变量,将其值设置为 1000,表示最大投注倍数
        overrideCalculatorFunctions(); // 重写 lotFunc 对象中的 clickKeyboard 和 clickKeyboardDel 函数 // 以自定义计算器的点击和删除按钮逻辑,适应新的投注规则

    });
})();