https://segmentfault.com/?aaa=bbb&xxx=yyy
对于包含 多个query字符串 的网址,网址规则是使用 & 进行拼接,用 decodeURI() 并不能把网址中的 & 字符进行编码,已查阅MDN相关。
请问有没有更好的方式解决???
此功能场景为跳转外链的前端实现相关。目前的做法是自定义了写法如下,
另外 & 字符的对应编码是 %26 但是这是啥编码,俺又忘了,不过每次都是去国内搜索引擎的地址栏去手动转换相关字符,嘿嘿。
https://segmentfault.com/?aaa=bbb&xxx=yyy
对于包含 多个query字符串 的网址,网址规则是使用 & 进行拼接,用 decodeURI() 并不能把网址中的 & 字符进行编码,已查阅MDN相关。
请问有没有更好的方式解决???
此功能场景为跳转外链的前端实现相关。目前的做法是自定义了写法如下,
另外 & 字符的对应编码是 %26 但是这是啥编码,俺又忘了,不过每次都是去国内搜索引擎的地址栏去手动转换相关字符,嘿嘿。
启发来源MDN
// 解决网址中query字符串部分中的 & 不被 decodeURI 编码的问题
function decodeLINK(str) {
return decodeURI(str)
.replace(/%26/g, "&")
}
// 适配 decodeLINK 方法
function encodeLINK(str) {
return encodeURI(str)
.replace("&", "%26")
}
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
编码
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer...
解码
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer...