我有一个 Javascript 小书签,当点击它时,会将用户重定向到一个新网页并提供旧网页的 URL 作为查询字符串中的参数。
当原始网页的 URL 中有双连字符(例如 page--1--of--3.html
)时,我遇到了问题。愚蠢,我知道 - 我无法控制原始页面 我正在使用的 javascript escape
函数不会转义连字符,如果要求服务 ,IIS 6 会给出找不到文件的错误resource.aspx?original=page--1--of--3.html
我可以使用替代的 javascript 转义函数吗?解决这个问题的最佳方法是什么?有谁知道为什么 IIS 在 resource.aspx?original=page--1
而不是 page-1
上阻塞?
最佳答案
“escape”和“unescape”之所以被弃用,正是因为它没有对所有相关字符进行编码。 不要使用 ESCAPE 或 UNESCAPE。请改用“encodeURIComponent”和“decodeURIComponent”。除了最古老、最破旧的浏览器外,所有浏览器都支持。这种知识并不普遍,真是太可惜了。
(另见 encodeURI 和 decodeURI)
编辑:错误刚刚测试过,但这并没有真正涵盖双连字符。对不起。
关于javascript - 在 Javascript 中转义双连字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1005108/