IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码

这是在开发国际机票查询页时碰到的一个问题,测试工程师在IE里执行查询操作,然后把查询的url赋值到firefox的地址栏,firefox打开后就变成乱码了。

1. IE浏览器,选择出发地,出发日期等后点击下查询

2. 跳转到查询页,赋值IE浏览器里的URL

3. 拷贝到Firefox/Chrome浏览器地址栏,会发现出现了乱码

对比看下IE和Firefox的URL情况发现是由于location.href方式在IE中没有进行URI编码,改成form提交后就好了。

IE6-11 

http://ijipiao.jd.com/international/query.action?_charset_=gbk&journeyType=RT&gjdepCity=北京&gjarrCity=香港&gjdepDate=2015-01-01&firstJourney.depCityName=北京&firstJourney.arrCityName=中文/拼音&firstJourney.depDate=&secondJourney.depCityName=中文/拼音&secondJourney.arrCityName=中文/拼音&secondJourney.depDate=&gjarrDate=2015-01-05&seatType=ECONOMY&passengerType=0&adtNum=1&chdNum=0&carrier=&carrierShow=不限&availableJourney=undefined&directOnly=false

Firefox/Chrome

http://ijipiao.jd.com/international/query.action?_charset_=gbk&journeyType=RT&gjdepCity=%B1%B1%BE%A9&gjarrCity=%CF%E3%B8%DB&gjdepDate=2015-01-02&firstJourney.depCityName=%B1%B1%BE%A9&firstJourney.arrCityName=%D6%D0%CE%C4/%C6%B4%D2%F4&firstJourney.depDate=&secondJourney.depCityName=%D6%D0%CE%C4/%C6%B4%D2%F4&secondJourney.arrCityName=%D6%D0%CE%C4/%C6%B4%D2%F4&secondJourney.depDate=&gjarrDate=2015-01-07&seatType=ECONOMY&passengerType=0&adtNum=1&chdNum=0&carrier=&carrierShow=%B2%BB%CF%DE&availableJourney=undefined&directOnly=false

时间: 2024-12-16 05:19:07

IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码的相关文章

E6浏览器中window.location.href无效解决办法

IE6下window.location.href="www.baidu.com"无法打开,改为window.location.href="http://www.baidu.com" 问题解决. 原因:IE6下window.location.href值必须写上完整的地址,不能使用相对地址. IE6下A标签解决方案: 事件必须return false <a href="javascript:void(0);" onclick="eve

js中top.location.href、parent.location.href用法

window.location.href.location.href是本页面跳转 parent.location.href是上一层页面跳转 top.location.href是最外层的页面跳转 举例说明: window.location.href.location.href: 例:  代码如下 复制代码 window.location.href= 'wapsend1.asp?zimu=A&rev= '   +   form1.rev.value ; parent.location.href:C页

一些理解-过滤器,拦截器,ajax提交后不跳转,document.location.href无效,回调函数。

1.struts2中过滤器和拦截器的工作流程: request-->执行自定义过滤器doFilter方法中的chain.doFilter()方法前的代码-->执行默认过滤器doFilter方法中的chain.doFilter()方法前的代码-->执行默认拦截器-->执行自定义拦截器-->访问服务器资源(action,css,html,jsp...)-->执行自定义拦截器-->执行默认拦截器-->执行默认过滤器的doFilter方法中chain.doFilte

springMVC框架在js中使用window.location.href请求url时IE不兼容问题解决

是使用springMVC框架时,有时候需要在js中使用window.location.href来请求url,比如下面的路径: window.location.href = 'forecast/download.do' 在谷歌浏览器下,实际请求的路径是:项目名/forecast/download.do 而在IE下访问时在中间多了好几层文件夹: 造成这种情况的原因是各种浏览器在使用window.localtion.href请求相对路径时处理方法不同 IE是从当前当前路径开始跳转 谷歌是从根目录开始跳

IE6下A标签href和onclick同时存在时的问题

请求的链接是用的 A 标签,A上同时写了href和 A 标签而言,当用户鼠标单击的时候,A对象被触发时会首先去执行 请求.瞬时又执行href,这时ie6就会abort前一个请求. 解决方法就是:直接把onclick事件写在href中:href="javascript:do()" 还有一种解决方案:<a href="javascript:void(0)" false;">Test</a> 这样是忽略了href部分,这对于通过oncli

location.href IE6 下不起作用的罪魁祸首

解决问题 在btn_publish函数内逻辑最后面加:return false; location.href IE6 下不起作用的罪魁祸首

JavaScript在IE6下超级链接window.location.href不跳转的bug 及 解决方案

今天遇到个很诡异的问题,就是<a href="javascript:void(0);" onclick="window.location.href=url"></a>在IE6下面没反应,不跳转到onclik事件中的“window.location.href”. 当时我们在网上找了篇文章很快就解决了,但是文章中没有说明具体原因在哪里,只是说在“window.location.href”后面加一个"return false",

登陆判读,并跳转到指定页面(window.location.href=&#39;http://localhost/index.html&#39;)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 function confirm(){   var tel=$tel.val();//获取页面中登录名和密码   var pwd=$pwd.val();   if(tel==""|| pwd==""){//判断两个均不为空(其他判断规则在其输入时已经判断)     alert(&qu

location.href和window.open的几种用法和区别

一.location.href常见的几种形式 self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this.location.href;//当前页面打开URL页面 location.href;// 当前页面打开URL页面 parent.location.href;//在父页面打开新页面 top.location.href;//在顶层页面打开新页面 ①如果页面中自定义了frame,那么可将parent.self.t