[英]How to get rid of a random “%3” added to the beginning of a string
我试图编写一个jQuery函数,以便可以切换到具有相同内容但使用不同语言的其他页面。 下面的代码是用来实际更改页面的代码,但是正如您在下面的图片中所看到的那样,当我运行它时,在URL字符串的前面添加了一个“%3”。 关于这是为什么的任何想法?
$(langchooser).change(function() {
var new_lang = $(langchooser).val();
changeLanguage(new_lang);
var x = location.host;
var y = "/";
var z = x.concat(y, new_lang);
console.log(z);
window.open(z, "_self");
});
%31
被编码为1
因为十六进制转义。
真正的问题是您的URL从一开始就缺少http://
; Chrome的错误记录中仅存在一个错误,即错误地在URL处转义了第一个字符。
也许你应该做
var l = window.location,
url = l.protocol + '//' + l.host + '/' + new_lang;
window.open(url, '_self');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.