You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript或jQuery实现防隐藏信用链接的条件重定向?

解决方案

你可以在原有的check函数中添加检测CSS隐藏属性的条件,覆盖display:none、visibility:hidden、opacity:0以及父容器隐藏的情况,修改后的完整代码如下:

修改后的jQuery代码

$(document).ready(function(){
    // 设置重定向函数
    function redirect(){
        window.location.assign('http://www.example.com');
    }

    // 检测规则
    function check(){
        const $credits = $('#credits');
        const $creditLink = $('#creditlink');

        // 检测容器或链接是否被移除
        if($credits.length === 0 || $creditLink.length === 0){
            redirect();
        }
        // 检测链接地址是否被修改
        else if($creditLink.attr("href") !== "http://www.example.com"){
            redirect();
        }
        // 检测链接文本是否被修改
        else if($creditLink.text() !== "Site name"){
            redirect();
        }
        // 检测链接是否被CSS隐藏
        else if($creditLink.css('display') === 'none' || 
                $creditLink.css('visibility') === 'hidden' || 
                parseFloat($creditLink.css('opacity')) === 0){
            redirect();
        }
        // 检测父容器是否被CSS隐藏(防止用户隐藏整个credits容器)
        else if($credits.css('display') === 'none' || 
                $credits.css('visibility') === 'hidden' || 
                parseFloat($credits.css('opacity')) === 0){
            redirect();
        }
    }

    // 页面加载时执行检测
    check();
    // 每5秒重复检测
    setInterval(check, 5000);
});

新增检测说明

  • 检测链接自身的隐藏属性:分别检查display:none(完全隐藏不占空间)、visibility:hidden(隐藏但占空间)、opacity:0(透明不可见)三种常见CSS隐藏手段
  • 检测父容器的隐藏属性:避免用户直接隐藏整个#credits容器来规避检测
  • 使用parseFloat处理opacity:因为jQuery返回的opacity值是字符串类型,转成数字后对比更严谨

需要注意的是,这种前端检测手段无法完全阻止技术水平较高的用户绕过,但对于大多数普通用户能起到有效的约束作用。

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 21:32:16