【IE8兼容问题】记录一次生产环境JS中split方法截取字符串异常及处理

问题描述:

生产环境,客户反应,做的待办集成功能,在门户上点待办任务名称跳转页面时,中转页面卡住不动,不能正常跳转到系统进行待办任务处理。

PC环境:360企业浏览器

原因分析:

1.页面中代码有错,或部署时缺引入文件

问题排查:

去测试环境进行验证,不管是谷歌浏览器,360急速浏览器,360企业浏览器居然都正常,没发现问题,代码正常,也不缺引入文件。

又去找客户,她反馈她用的360企业浏览器兼容模式,回来开发环境复测,依然正常,主打一个懵逼,去生产环境看,把跳转地址复制到IE8,然后发现左下角有个黄色感叹号,打开错误如下

网页错误相信信息
用户代理:Mozilla/4.0(...)
消息:缺少对象
行:144
字符:5
代码:0
URL:http://xxxxxx:8080/xxx/index_sso.jsp?参数1=aaa&参数2=bbb

 找到中转页面跳转页面的逻辑代码

var currentUrl=window.location.href;
var arrUrl=currentUrl.split("?");//出错的144行

第一反应是currentUrl不会没取到吧,通过alert测试获取正常,最后发现是split方法的问题,去测试环境IE8试,split方法调用竟然也是正常的,通过对比才发现,这个split方法只会在生产环境有问题

去查split的api,这个是JavaScript自带的方法,是支持IE8浏览器的,神奇吧,只有你做过运维,才知道生产环境会有各种神奇且不可思议的异常

于是,修改代码如下

var currentUrl=window.location.href;
var urlParam=currentUrl.substring(currentUrl.indexOf("?")+1,currentUrl.length);//修改

去生产环境验证,已正常。

其实,现在的系统用IE或者兼容模式的已经很少了,但客户还是会有类似的旧系统,遇到问题,还是需要去处理!

 

posted @   泠雨0702  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示