IE:通过 href 调用函数,参数乱码
来源:互联网 发布:政治大纲解析 知乎 编辑:程序博客网 时间:2024/05/21 17:31
转自:http://xyztony1985.blog.163.com/blog/static/36117820111112511147/
示例代码
<a href="javascript:foo('CPU%E9%A3%8E%E6%89%87')">foo1</a><br />
<a href="javascript:foo('CPU%u98CE%u6247')">foo2</a><br />
<a href="javascript:foo(escape('CPU风扇'))">foo3</a><br />
<a href="javascript:foo(encodeURI('CPU风扇'))">foo4</a><br />
<a href="#" onclick="foo('CPU%E9%A3%8E%E6%89%87')">foo5</a><br />
<textarea rows="8" cols="50" id="txt"></textarea>
<script type="text/javascript">
var txt = document.getElementById('txt');
function foo(msg,src)
{
txt.value = txt.value + msg + '\r\n';
}
</script>
<a href="javascript:foo('CPU%u98CE%u6247')">foo2</a><br />
<a href="javascript:foo(escape('CPU风扇'))">foo3</a><br />
<a href="javascript:foo(encodeURI('CPU风扇'))">foo4</a><br />
<a href="#" onclick="foo('CPU%E9%A3%8E%E6%89%87')">foo5</a><br />
<textarea rows="8" cols="50" id="txt"></textarea>
<script type="text/javascript">
var txt = document.getElementById('txt');
function foo(msg,src)
{
txt.value = txt.value + msg + '\r\n';
}
</script>
运行结果
从上到下,依次点击各链接,结果如下:
可以看到,点击foo1后,乱码了。
问题描述
通过 href 调用函数,参数若为中文 encodeURI 编码后的字符串,IE浏览器下乱码。
问题解析
1、上述调用,浏览器会先对参数自动解码;(参数必须是 encodeURI 编码后的字符串)
2、非IE浏览器使用相应的 decodeURI 解码;(仅测试了webkit核心)
3、IE浏览器(含IE9)使用 unescape 解码;(乱码原因)
解决办法
1、使用 onclick 代替 href 调用函数;(推荐,参见示例代码的foo5)
2、参数不编码,先做为 encodeURI 的参数,再一起传递给调用函数;(参见foo4)
- IE:通过 href 调用函数,参数乱码
- IE,FF,GG,href请求带中文参数乱码解决
- 通过href调用javascript
- href的参数含有中文在IE下乱码的解决
- 解决IE及location.href中文乱码
- href传入参数含有中文,乱码问题
- JSP 通过href调用Java中的servlet
- <a href="javascript:"里面调用的函数的参数this无效
- html a href 文件下载 IE直接打开 内容乱码
- 通过QAxWidget调用IE浏览器
- Shell脚本通过参数传递调用指定函数
- apply方法通过不同数量的参数调用函数
- jsp通过href跳转到servlet的乱码问题
- 【解决问题】href传入参数含有中文,乱码问题
- location.href传参数到后台中文乱码
- 关于window.location.href 传中文参数 乱码问题
- location.href 含中文参数 后台接收乱码
- jsp页码通过href标签传中文参数
- Fedora14 root 登陆 (by 星空武哥)
- Linux用户基础
- 设计一个不能被继承的类-C++实现(来源于剑指名企offer)
- linux 下java环境变量的配置
- SPOJ LCS2(Longest Common Substring II-后缀自动机向父亲更新)
- IE:通过 href 调用函数,参数乱码
- Connection
- poj1125 Floyd算法
- glance 文件清单
- hdu 1114 Piggy-Bank
- hdu 4705 Y(多校赛第十场)
- 谣言止于下一个谣言!
- NSString类
- IOS-TextField知多少 分类: IOS编程