联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
Cascader.js级联选择器打开开发者工具导致页面崩溃!
类型:迅睿CMS 更新时间:2024-04-20 09:38:55 开发者工具 联动菜单 模块表单

Cascader.js级联选择器打开F12开发者工具导致页面崩溃!

问题是这样的,我用模块表单做了一个留言板,留言板里面有城市选择的动能,我就用了联动菜单的字段,在页面展示的时候是没有问题的,但是在浏览器打开F12开发者工具的时候,页面就直接崩溃了,提示错误代码:STATUS_STACK_OVERFLOW,经过多次尝试,发现注释掉cascader.min.js这个文件就没有问题了,想问一下,这种情况改怎么处理呢?

没有打开F12开发者工具的时候页面是没有问题的!正常访问也可以正常提交!

image

打开开发者工具就崩溃了

image

文件路径:

/static/assets/layui/cascader/cascader.min.js

代码块

我挨个注释文件查看效果,把cascader.min.js注释掉的时候,打开F12开发者工具的时候就没事了!

image

回帖
  • 外聘专员-小波工作室
    #1楼    外聘专员-小波工作室
    2024-02-02 16:27:37
    Chrome 0
    查查你页面上的其他js,注释的手段来排查一下
  • 兔子姑娘
    #2楼    兔子姑娘
    2024-02-02 16:59:27
    Chrome 0
    外聘专员-小波工作室 这一点我已经试过了,把页面除了jquery.min.js所有的js文件都注释了,还是不行,除非把cascader.min.js这个文件注释了才行,问题就出在这个文件身上,但是就是不知道啥原因,也不报错,只有打开开发者工具后,刷新一下页面就不行了,只要不打开开发者工具是什么事都没有的,奇了怪了,我也搜了一下STATUS_STACK_OVERFLOW这个错误代码,https://www.bilibili.com/read/cv27093735/,按照这个操作也没解决
  • 兔子姑娘
    #3楼    兔子姑娘
    2024-02-02 17:02:36
    Chrome 0
    外聘专员-小波工作室

    STATUS_STACK_OVERFLOW 是一个Windows操作系统中的错误代码,表示一个线程的堆栈已经溢出。这通常发生在递归函数中,当递归深度太深或者局部变量使用过多导致堆栈空间不足以容纳所有数据时。

    堆栈溢出可能由以下原因导致:

    1. 递归深度太深:如果一个函数直接或间接地调用自身太多次,就可能导致堆栈溢出。
    2. 局部变量使用过多:每个线程都有一定的堆栈空间,如果在这个空间中存储了太多的数据,特别是大数组或大对象,就可能耗尽堆栈空间。
    3. 函数参数过多:如果一个函数接收了太多的参数,这些参数可能会占用大量的堆栈空间。
    4. 动态分配的内存:在某些情况下,如果动态分配的内存(例如使用mallocnew)没有正确释放,也可能导致堆栈溢出。

    为了解决STATUS_STACK_OVERFLOW错误,你可以:

    1. 检查递归深度:确保递归函数有终止条件,并且不会无限递归。
    2. 优化局部变量使用:尽量减少局部变量的数量和使用量。
    3. 减少函数参数:如果可能,减少函数参数的数量。
    4. 优化数据结构:例如,使用动态数组代替静态数组,以减少内存使用。
    5. 增加堆栈大小:在某些情况下,可以增加线程的默认堆栈大小。但请注意,这可能会增加内存使用。
    6. 检查动态内存分配:确保所有动态分配的内存都被正确释放,以避免内存泄漏。
    这是在文心一言搜出来的,但是也是不会解决 😥
    满意答案
  • 兔子姑娘
    #4楼    兔子姑娘
    2024-02-02 17:13:47
    Chrome 0
    外聘专员-小波工作室 把这个<script src="/index.php?s=api&c=api&m=linkage&mid=&file=&code=address"></script> 注释了也好了,我怀疑是不是这个函数linkage_address参数太多了导致的堆栈溢出,如果是这个原因该怎么解决呢
    image
  • 新手上路
    #5楼    新手上路
    2024-02-02 18:41:55
    Chrome 0
    减少数据量
  • 兔子姑娘
    #6楼    兔子姑娘
    2024-02-03 11:15:38
    Chrome 0
    新手上路 确定原因了,不是数据量过多导致的,因为我有两个字段都是联动菜单,这样就会初始化两次级联菜单组件方法导致的,注释掉其中一起就没问题了,所以只能有一个联动菜单,怎么才能解决这种问题呢?一个表单有多个联动菜单是很常见的,避免不了有多个联动菜单字段。下图是两个联动菜单的字段
    1706929501602
    下图是两个级联组件的方法调用,能不能两次调用都在一个方法里面完成?
    image
  • 兔子姑娘
    #7楼    兔子姑娘
    2024-04-20 09:38:55
    Chrome 0
    @兔子姑娘:已确认问题原因,电脑配置低,浏览器的内存不够用了,并不是每个电脑都这样,无解