PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么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,请注明来意。
标签: