You need to enable JavaScript to run this app. 开发HTML+JS点击自增功能时Chrome返回错误码5,附完整问题代码求助
优惠活动
大模型
产品
解决方案
定价
更多

开发HTML+JS点击自增功能时Chrome返回错误码5,附完整问题代码求助

触发Chrome错误码5的核心原因

这个报错本质是你写的代码存在无限死循环,直接占满JS主线程,导致Chrome标签页的渲染进程被强制终止,和浏览器本身的设置、网络配置没有任何关系,这也是你试完Chrome官方所有排查方法都没解决的根本原因——问题出在代码逻辑上,不是浏览器环境的问题。

具体的代码问题逐一拆解

  • 最致命的bug来自while (x = 1)行:这里写的是赋值操作不是相等判断,会把变量x永久设置为1,而且整个循环体没有任何修改x值的逻辑,会形成永不停歇的死循环,彻底占住JS的主线程,后续的DOM就绪事件、按钮点击事件、计时器回调全部没有机会执行,最终直接把标签页进程拖崩
  • 计时器逻辑完全失效:原来写的setInterval回调里的total + increment只是临时计算了一次表达式的结果,没有把值赋值回total变量,total永远停留在初始的0值,完全起不到累计计数的作用
  • 事件绑定逻辑错位:把jQuery的$(document).ready写在死循环内部完全没有意义。这个事件本身只会在页面加载完成时触发一次,反复在循环里注册不仅不会触发更多回调,还会造成重复绑定点击事件的内存泄漏问题
  • 点击计数逻辑失效:原来的点击回调里写$("h1").text(total + 1),只是临时把h1标签的文本设为total加1的结果,没有把最新的计数值存回total变量,不管点击多少次,页面永远只会显示固定值,不会累计
  • 按钮上的连续问号是本地文件编码不匹配导致的文案乱码,不影响核心逻辑,但建议修正为正常的功能提示文案

修正后可正常运行的参考代码

下面的代码保留了你原本想实现的“点击计数、每秒自动累加”的逻辑,去掉了所有会导致崩溃的问题:

<!DOCTYPE html> 
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        // 初始化计数基础变量
        let total = 0
        let increment = 1

        // 修正后的计时器逻辑:把累加结果赋值回total
        setInterval(function(){ 
            total += increment; 
            // 可选:如果需要让数字实时跳动显示,可在这里更新h1的文本内容
        }, 1000);

        // 页面加载完成后再绑定事件,不要把事件绑定塞在循环里
        $(document).ready(function(){
            $("#id").click(function(){
                // 每次点击更新计数,并把最新值渲染到页面
                total += 1
                $("h1").text(total);
            });
        });
    </script>
</head>
<body>
    <h1>0</h1>
    <button id="id">点击累加计数</button>
</body>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 11:06:00