gpt4 book ai didi

javascript - window.history.pushState uri 编码不一致

转载 作者:行者123 更新时间:2023-11-30 06:31:14 24 4
gpt4 key购买 nike

取url地址www.somesite.com/@user1

如果我点击一个好的老式<a href...包含链接的超链接然后是 @百分比编码为 %40在地址栏中。

如果我使用 html5 的 window.history.pushstate("object or string", "Title", 'www.somesite.com/@user1') @not enocded - 它显示为“@”字符。

这种不一致让我很困扰。也许有一种方法可以使行为保持一致?

我考虑过encodeURIComponent('www.somesite.com/@user1')对于 pushstate url,但这也编码了'/',我希望的是<a href...超链接未对“@”符号进行编码。

最佳答案

使用 encodeURIComponent 使 javascript 假设没有特殊的 HTTP 字符可以忽略。首先提取组件:

var url = "www.somesite.com/@user1";
var atPos = url.indexOf('@');
var urlComp= url.slice(atPos); //@user1
url = url.slice(0, atPos);
url += encodeURIComponent(urlComp); //"www.somesite.com/%40user1"

关于javascript - window.history.pushState uri 编码不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com