Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript firefox如何在地址栏中编码url_Javascript_Firefox_Encoding - Fatal编程技术网

Javascript firefox如何在地址栏中编码url

Javascript firefox如何在地址栏中编码url,javascript,firefox,encoding,Javascript,Firefox,Encoding,当我使用firefox时,我发现它会对地址栏中的汉字进行编码,这使得解码变得困难 埃克塞马普: 在js代码中,我对url进行了编码: location.href="http://xxx/query.html?type="+encodingURI('中文'); 然后在地址栏中,firefox向我显示: http://xxx/query.html?type=中文 但是,如果我在地址中输入“enter”键,这意味着重新加载此页面,则地址将更改为 http://xxx/query.html?type

当我使用firefox时,我发现它会对地址栏中的汉字进行编码,这使得解码变得困难

埃克塞马普:

在js代码中,我对url进行了编码:

location.href="http://xxx/query.html?type="+encodingURI('中文');
然后在地址栏中,firefox向我显示:

http://xxx/query.html?type=中文
但是,如果我在地址中输入“enter”键,这意味着重新加载此页面,则地址将更改为

http://xxx/query.html?type=%D6%D0%CE%C4
然后我无法解码“=%D6%D0%CE%C4”。因为无法使用

decodeURI('%D6%D0%CE%C4');
实际上,
encodeURI(“中文")="%E4%B8%AD%E6%96%87“


我想知道firefox是怎么做的,以及如何解码参数?

它使用标准的url编码,你需要确保你有正确的doctype来显示这些字符,否则你会得到不满意的结果。

它使用标准的url编码,你需要确保你有正确的doctype来显示这些字符s、 否则你会得到不满意的结果。

Firefox对我来说不是这样的。当我按enter键时,它没有在URL中编码这些字符

顺便说一下,
中文
%E4%B8%AD%E6%96%87

encodeURIComponent("中文");
"%E4%B8%AD%E6%96%87"

decodeURIComponent("%E4%B8%AD%E6%96%87");
"中文"

例如:.

Firefox对我来说不是这样的。当我按enter键时,它不会在URL中编码这些字符

顺便说一下,
中文
%E4%B8%AD%E6%96%87

encodeURIComponent("中文");
"%E4%B8%AD%E6%96%87"

decodeURIComponent("%E4%B8%AD%E6%96%87");
"中文"

例如:.

这是一个已知的Firefox错误:我看到了,有没有办法重新爱上它?因为我们在Firefox 3.6中遇到了这个问题,而在Firefox 5+中没有遇到,但我们无法让访问者更新到6。@c69:我不同意。这个问题中描述的行为似乎根本不存在。@user954921:
%D6%D0%CE%C4
是GB2312编码的g、 Firefox不会简单地将编码从UTF-8更改为GB2312。为了确保我在Firefox 3.6中使用GB2312编码对其进行了验证-按位置栏中的Enter键不会更改任何内容。您可能需要检查扩展名,可能其中一个正在执行此操作。顺便说一句,通过单击“重新加载”按钮并单击“重新加载”按钮可以重新加载页面这就是99.9%的用户会做的;)这是一个已知的Firefox bug:我看到了,有没有办法喜欢它?因为我们在firefox 3.6中遇到了这种情况,而在firefox 5+中没有,但是我们不能让访问者更新到6。@c69:我不同意。此问题中描述的行为似乎根本不存在。@user954921:
%D6%D0%CE%C4
是GB2312编码。Firefox不会简单地将编码从UTF-8更改为GB2312。为了确定,我在Firefox3.6中使用GB2312编码在网页上验证了它——在位置栏中按Enter键不会改变任何东西。你可能想检查你的扩展,也许其中一个正在这样做。顺便说一句,通过单击“重新加载”按钮重新加载页面,99.9%的用户都会这样做;)您提到的函数是解码Firefox URL的正确函数您提到的函数是解码Firefox URL的正确函数