javascript – decodeURI没有完全正常工作

前端之家收集整理的这篇文章主要介绍了javascript – decodeURI没有完全正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从链接删除URI编码,但decodeURI似乎没有完全正常工作.

我的示例链接是这样的:/ linkout?remoteUrl = http%3aa%2f%2fsandBox.yoyogames.com%2fgames%2f171985-h-a-m-heroic-armies-marching

运行JavaScript脚本后,它看起来像这样:

http%3a%2f%2fsandBox.yoyogames.com%2fgames%2f171985-h-a-m-heroic-armies-marching

如何摆脱URI中剩余的不正确的代码

我的解码代码

var href = $(this).attr('href');            // get the href
var href = decodeURI(href.substring(19));   // remove the outgoing part and remove the escaping
$(this).attr('href','http://'+href)        // change link on page

解决方法

网址看起来是两次编码,我也建议使用decodeURIComponent
decodeURIComponent(decodeURIComponent("http%253a%252f%252fsandBox.yoyogames.com%252fgames%252f171985-h-a-m-heroic-armies-marching"))

结果是:
“http://sandBox.yoyogames.com/games/171985-h-a-m-heroic-armies-marching”

但你应该检查为什么你提前两次编码网址

猜你在找的JavaScript相关文章