最近在线上遇到一大坑,就是layui中的layer弹窗组件 在关闭的时候无法关闭,
第一反应是parent.layer.getFrameIndex(window.name) 没有找到对应的下标, 结果返回了undefined 然后通过浏览器控制台去获取window.name结果得到的结果是表单里面的某个字段名,而不是layui-layer-iframe开头的一个name 但是在执行第一行js代码的时候 打了一个断点 发现iframe的name是 layui-layer-iframe开头的,于是就猜想是哪里的js方法把当前的window.name重新赋值了,最后经过了调试找到了一处代码,有一行代码是这么写的
很平常的一行代码,但是name前面没有使用var关键字,所以改变了当前window的name 导致parent.layer.getFrameIndex()找不到下标 所以关不掉窗口。因为同事的一个小疏忽,我跟实施的同事找了一下午 最终才解决了这个问题 哈哈哈哈
parent.layer.close(parent.layer.getFrameIndex(window.name)); 无法关闭弹窗
于 2023-06-29 10:52:52 首次发布