JS页面传参含特殊字符的解决方案

作者:半夏

时间:2026-10-24

浏览:302

本文介绍在JavaScript中通过window.showModalDialog等窗口方法传递包含特殊字符(如#)的参数时,如何避免值解析错误。核心方案是在传参前使用escape()对字符串进行编码,接收端使用unescape()进行解码,从而确保数据完整传输。

文章目录

特殊字符传参问题与处理方案

在实际开发中,可能会遇到通过window.showModalDialog("comm/morelanguage.jsp?str=zh_CN:爱#;zh_TW:愛;en:love;",,,,);这样的方式弹出子页面并传递参数的场景。当子页面接收src参数时,如果参数值中包含特殊字符(例如#),往往会导致接收到的值不正确。经过测试,这通常是由特殊字符引起的解析问题。针对这类情况,可以采取以下处理办法:



在传递参数时,对str的值进行编码处理,具体做法是调用escape函数,即:str=escape('str=zh_CN:爱#;zh_TW:愛;en:love;')。



在接收参数的页面中,获取到str后,再调用unescape函数进行解码,即:str=unescape(str);,从而恢复原始字符串内容。



实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章