大佬教程收集整理的这篇文章主要介绍了为什么javascript协议会自动解码URL?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对JavaScript协议为何解码编码的URL感到困惑,例如:
<a href="javascript:MyFunction('%3DcDO4w67epn64o76');">press</a>
function MyFunction(id)
{
alert(id); //it will generate =cDO4w67epn64o76
}
我在加密和解密中使用这些字符串.
请提供给我一个真正的原因和解决方案(原因对我来说非常重要),我知道我可以替换(=)符号,但是我担心其余的编码字符串也将被包装程序解码.
注意:在PHP中,GET,requEST全局变量将自动解码url.
解决方法:
因为它在href属性中(可以预料到URL),所以浏览器正在“规范化”“ URL”的URI编码(正在使用javascript伪方案).
您可以将其放在其他属性中,然后得到它,如下所示:
function MyFunction(element) {
console.log(element.getAttribute("data-value")); //it will generate =cDO4w67epn64o76
}
<a href="javascript:;" onclick="MyFunction(this)" data-value="%3DcDO4w67epn64o76">press</a>
…尽管我不鼓励使用onclick =“ …”处理程序.代替:
function linkHandler(E) {
console.log(this.getAttribute("data-value"));
e.preventDefault();
}
var links = document.querySELEctorAll("a[data-value]");
Array.prototype.forEach.call(
links,
function(link) {
link.addEventListener("click", linkHandler, falsE);
}
);
<a href="javascript:;" data-value="%3DcDO4w67epn64o76">press</a>
以上是大佬教程为你收集整理的为什么javascript协议会自动解码URL?全部内容,希望文章能够帮你解决为什么javascript协议会自动解码URL?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。