IE7无法正常解析URL,在线等,急!!!!

wangfei_mail 2011-03-07 03:58:10
现在有一段代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<title>WebHelp</title>
</head>
<script type="text/javascript">
url="file:///C:/TEST/%/urltest2.htm#CSHID=1011";
document.location.replace(url);
window.focus();
</script>
<body>
</body>
</html>
在这个htm文件中,打开文件就会转到urltest2.htm的页面。在IE6,IE8中都能够正常执行,IE7中不行。
IE6,8中页面显示好之后,右键属性显示的URL为:file:///C:/TEST/%25/urltest2.htm#CSHID=1011
IE7中显示为:file:///C:/TEST/%2525/urltest2.htm#CSHID=1011
%在IE中被转码了2次,知道原因的请解答一下,谢谢。
...全文
98 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangfei_mail 2011-03-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hongmei85 的回复:]
试了下ie7貌似正常,显示地址为E:\TEST\%25\urltest2.htm
[/Quote]

htm后面的#必须要有,后面要传递参数
wangfei_mail 2011-03-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 geovil 的回复:]
“%”的转码就是%25,明显可以看出在ie上 你转码两次就成了%2525。
% 转码一下就是%25 在转一下就把%再转%25就成了 %2525,路径中非要用%作为路径目录吗?
不是必要就取掉,或者转一次码。或者解码一次。 或者不转码两次 转码两次是为了解决url中文传参,你的并没有中文啊
[/Quote]

我没有自己转码,是IE自己默认的吧。同样的代码,IE6.8中就没有这个问题。
wangfei_mail 2011-03-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hongmei85 的回复:]
试了下ie7貌似正常,显示地址为E:\TEST\%25\urltest2.htm
[/Quote]

我是在sp2的环境下试的,问题还在
hongmei85 2011-03-07
  • 打赏
  • 举报
回复
或者你再试下
document.location.replace(encodeURI(url));
hongmei85 2011-03-07
  • 打赏
  • 举报
回复
试了下ie7貌似正常,显示地址为E:\TEST\%25\urltest2.htm
思無芷盡 2011-03-07
  • 打赏
  • 举报
回复
“%”的转码就是%25,明显可以看出在ie上 你转码两次就成了%2525。
% 转码一下就是%25 在转一下就把%再转%25就成了 %2525,路径中非要用%作为路径目录吗?
不是必要就取掉,或者转一次码。或者解码一次。 或者不转码两次 转码两次是为了解决url中文传参,你的并没有中文啊

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧