一段js代码在ie中正常,在firefox与google chrome中不能执行,哪位朋友帮我改一下,谢谢!

<html>
<title>汉字url转码gb2312</title>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
//汉字url转码gb2312
function Hex(n){
c = n;
execScript("c = Hex(c)", "vbscript");
return c;
}
function Asc(s){
c = s;
execScript("c = Asc(c)", "vbscript");
return c;
}
function gb2312Encode(str){
var string = "";
c = s = "";
var high = "";
var low = "";
for(var i = 0; i < str.length; i++)
{
c = Asc(str.charAt(i));
if(Math.abs(c) < 0xFF)
string += str.charAt(i);
else
{
if(c < 0) c += 0x10000;
high = ((c & 0xFF00) >> 8) & 0x00FF;
low = c & 0xFF;
string += "%" + Hex(high) + "%" + Hex(low);
}
}
return string;
}

//-->
</SCRIPT>

</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write(gb2312Encode("汉字"));

//-->
</SCRIPT>
</body>
</html>

**********************************
google chrome已检查出是“execScript”的问题,但我不会改,请帮帮忙,谢谢了!
或重给我一段更好的客户端汉字url转gb2312码的也可以,谢谢。

我的目的是网址的伪静态,比如"/汉字.htm","汉字"实际上是一个参数,但“汉字.htm”是认不出来的,只有转成“%BA%BA%D7%D6.htm”才认得出。另外,我用的cms本来就是gb2312编码的。

第1个回答  2014-04-01

  尊敬的用户,您好!很高兴为您答疑。

  您这是vbscript语法,在非IE内核浏览器下无法执行;而关于编码的工具,您可以查看此处:OSTools 在线工具

  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。

第2个回答  2012-03-19
别想改了 非IE浏览器是无法用vbscript的 你这里显然用了vbscript 所以不行
而且这些浏览器也不能用js转gb的编码 这种工作交给服务器端吧 或者你提交表单的时候设置字符编码为gb2312 不信你可以查一下客户端转gb2312 是没有的追问

是这样啊,还有什么别的办法吗?
我的目的是网址的伪静态,比如"/汉字.htm","汉字"实际上是一个参数,但“汉字.htm”是认不出来的,只有转成“%BA%BA%D7%D6.htm”才认得出。另外,我用的cms本来就是gb2312编码的。

追答

没特别好的办法把 你用utf-8编码不行吗

追问

已用gb2312的有一段时间了,不合适再改了。

追答

恐怕是没有好的办法 你可以查一下 我不知道

追问

谢谢,我再想想办法。

本回答被提问者采纳
相似回答