近期在做一个热补丁,其中有个界面在IE6下超链接无法打开,经查是链接地址太长,2161个字节,已经超出ie6,7的长度限制,现把发现此问题的过程分享给大家。
===过程=====
1、万恶的ie6,连调试都没有好的工具,ietest又不靠谱。虽然现在业界都呼吁抛弃ie6,但我们的用户还在大量使用,没办法,还得解决此问题。
2、点击超链接,没有任何反应,也没有任何js错误提示
3、检查浏览器设置,勾上了"显示每个脚本错误的通知",去掉了"禁用脚本调试"
4、再次点击,仍然没有任何错误提示,看来js代码没有错误了。也许有人会说,点击超链接怎么会有js错误,因为我们的超链接是这样写的 <a href="javascript:ckmx('xh')" >
5、问题挺奇怪,我就在其他浏览器(ie10,chrome)中把要打开的链接复制出来,粘贴在ie的地址栏里
6、不小心把地址栏中ip位置的字符给删了,那我就重新改一下,却发现根本无法输入任何字符,由此,我猜想可能url过长了
7、把url拷贝到ue中,发现url占用了2161个字节,ie,7的url限制在2048个
====原因及解决办法====
1、查看了链接地址的拼写,发现链接是这样写的
location.href = _url + _param + '&returnURL='+encodeURIComponent('[%HTML::TEXT.requestURL2%]');
_param也就一个参数,那看来肯定是[%HTML::TEXT.requestURL2%]造成的。
2、按理说[%HTML::TEXT.requestURL2%]也不会超长的,仔细看来发现我们的界面返回都是利用这个参数来返回到上个界面的,现在的这个界面已经经过了5轮钻取,A>B>C>D>E,经过前边4轮后,requestURL2已经非常长了,才造成了这个问题。
3、当前界面的链接地址改为location.href = _url + _param;不再拼接后边的参数。下一个界面的返回简单实用window.history.back();
这个问题一般情况下不会发生,发此贴给大家个警示,无意间就造成了此问题。
firefox,chrome,Opera的url长度都是4098个;
ie8之后网上没搜到,也没去官网查,不过我们这个界面ie8,ie10都能打开,估计他们也改为了4098
ie6,7的长度是2048
相关推荐
功放设计中容易忽视的问题。包括记忆效应 热设计 屏蔽设计等等。
你可能忽视的iOS 8 Safari浏览器小技巧.docx
初中语文文摘励志成功容易忽视也容易
VoIP协议 不容忽视的安全问题
本文档的内容是我在看Java方面的书籍时,自己认为比较重要和比较容易忽视的知识点记录下来,方便大家复习参考。
消防工程师考试最容易忽视的考点.doc
厨房装修最容易忽视的安全问题.docx
消防工程师考试最容易忽视的知识点.doc
WPS文字容易忽视的几个小功能.docx
初中语文文摘社会野生动物保护容易忽视的问题
关于HTTP协议的深入学习和理解,旨在帮助读者从基础到高级全面掌握HTTP的相关知识。内容涵盖了HTTP协议的基本结构、工作原理、以及与HTTP相关的技术和工具,如TCP/IP、DNS、SSL/TLS、Web Server等。教程强调理论与...
一级消防工程师考试最容易忽视的知识点.pdf
一级消防工程师考试最容易忽视的知识点.docx
电子信息系统防雷几个容易忽视问题的探讨.pdf
会计实务:企业股东容易忽视的3个个人所得税纳税.pdf
“个人所得税”代扣代缴容易忽视的7大涉税风险.docx
Java容易被忽视的API,描述了许多Java平台提供的好的API,但是易于被“轻视”的功能。
QGraphicsView框架容易忽视的坐标问题-“画布”QgraphicsScene到底放在了哪儿?
容易被忽视的十大校园安全隐患.docx
会计实务:企业股东容易忽视的3个个人所得税纳税-4页.pdf