博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【经验分享】URL链接地址最长是多少?
阅读量:6677 次
发布时间:2019-06-25

本文共 1030 字,大约阅读时间需要 3 分钟。

近期在做一个Hot Fix,其中有个界面在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

转载地址:http://xiyao.baihongyu.com/

你可能感兴趣的文章
十、cent OS开启APR模式报错:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed...
查看>>
八、阻塞等待异步结果FutureTask
查看>>
中文字符按拼音首字母排序(转)
查看>>
【mysql】一次有意思的数据库查询分析。
查看>>
Spring 框架中注释驱动的事件监听器详解
查看>>
C++获取window临时路径
查看>>
Python(面向对象编程—1)
查看>>
自己封装的数据通信服务组件DotNet.ServiceModel
查看>>
Docker创建虚机和swarm
查看>>
JSON入门学习
查看>>
一个很好的UML工具
查看>>
[转]无需看到你的脸就能认出你——实现Beyond Frontal Faces: Improving Person Recognition Using Multiple Cues...
查看>>
函数Curry化
查看>>
二进制补码,原码,反码和移码
查看>>
Default Constructor 的建构操作
查看>>
函数中的不定长参数研究 *and**
查看>>
hive如何执行mr
查看>>
马士兵hadoop2.7.3_yarn笔记
查看>>
python自编程序实现——robert算子、sobel算子、Laplace算子进行图像边缘提取
查看>>
Extjs5项目进行中:打开新面板并加载数据(三)
查看>>