IE6页面跳转的一个奇怪BUG

2011年12月15日 | 分类: 前端开发 | 标签: ,

百度搞了一个分享平台,好吧,试用一下,发现分享成功,但各平台下跳转回来的地址存在IE6下参数获取错误的问题。

问题重现(新浪微博为例):

分享平台获取的地址一般为http://www.domain.com/test.asp?id=100#0-tsina-111111-111111-de70028302b856c997bc35861eb52ece,分享平台都有自己的短网址,一般为http://t.cn/AbCdEf,点击的时候做了一次跳转到分享平台获取的地址。但是由于添加了#号后面的内容,在IE6浏览器下Request得到的ID值严重不正确,居然包含#号后面的所有字符。

问题简化:

1.asp

<a href="2.asp">测试</a>

2.asp

Response.Redirect("3.asp?ID=14#efefef")

3.asp

Response.Write(Request("ID"))

IE6下,单击1.asp里的链接 或 直接访问2.asp,输出的值为:14#efefef

解决问题:

1. 过滤掉#及后面的所有字符
2. 添加空的参数,例如3.asp?ID=14&TP=#efefef

追究原由:

测试了FF7,FF8,FF(8),Chrome(15),Safari(5.1)均未发现问题。查询网络发现 这篇 文章和我碰到了同样的问题,和几个同事讨论均认为有可能是IE6在跳转时发生的问题,该问题已经提交到微软在线论坛等待MVP反馈。如有描述错误之处,请指教。

PS:

12.16 MVP回复可能为IE6的某BUG,并提供同样问题的链接 Internet Explorer 6 and redirected anchor links

No related posts.

  1. 2012年2月4日14:24

    好久木有来过了,冒个泡~~

    话说IE6这货实在是不想理了~

    [回复]