免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2762 | 回复: 14
打印 上一主题 下一主题

这个应该算是微软的IE的JS bug吧! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-12 02:00 |只看该作者 |倒序浏览
这个应该算是微软的IE的JS bug吧!

看这个页面

http://wefong.3322.org/sun/bbsutf-8/ccb/forums_list.cgi?forum=1

点文章作者麻辣,url地址出现乱码

javascript:Sun('u_name_view.cgi?&u_username=ÂéÀ±')

但,你查看网页原代码:

javascript:Sun('u_name_view.cgi?&u_username=%C2%E9%C0%B1')


网页原码是对的!只是,IE在打开的时候,给变成鬼了!

论坛徽章:
0
2 [报告]
发表于 2003-12-12 02:02 |只看该作者

这个应该算是微软的IE的JS bug吧!

如何解决呢?

我怎么修改js代码解决这个问题?望大虾指点

js函数只是控制新窗口的样式属性,很简单

function Sun(para_URL){var URL=new String(para_URL);window.open(URL,'','top=0,left=5,menubar=no,toolbar=yes,location=yes,scrollbars=yes,resizable=yes')}  

为什么IE汉字的js编码规则和url地址的规则不一样?

我对js一窍不通

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-12-12 10:32 |只看该作者

这个应该算是微软的IE的JS bug吧!

如果我沒記錯..你的javascript應該要送
Sun('./xxx.pl?name=一二三&bbb=abc');
而不應該是你幫他轉碼後的資料.
因為IE會自動幫你編碼...
你如果幫他編碼了...只是多此一舉....:)

论坛徽章:
0
4 [报告]
发表于 2003-12-12 13:48 |只看该作者

这个应该算是微软的IE的JS bug吧!

程序是转码了,不转码更不行,会出现汉字地址:

javascript:Sun('u_name_view.cgi?&u_username=麻辣')

而我要的是:

javascript:Sun('u_name_view.cgi?&u_username=%C2%E9%C0%B1')

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-12-12 13:57 |只看该作者

这个应该算是微软的IE的JS bug吧!

你的url是從那裡抓來的呀??

數據庫?

看起來是從數據庫抓出來的....
所以你可能要看一下...
你的sql抓出來的到底是什麼東西???

javascript是client端的東西..送出來的時候..IE會自動編碼..
然後server端會自動解碼..找出你傳的資料...

论坛徽章:
0
6 [报告]
发表于 2003-12-12 15:33 |只看该作者

这个应该算是微软的IE的JS bug吧!

麻辣是个变量,文本数据库中分离出来的一个变量。

这个变量是用户ID,是汉字

我给他转换为%%%了,就象百度,google。。也是这样啊,强行把汉字转码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-12-12 17:51 |只看该作者

这个应该算是微软的IE的JS bug吧!

google的事實上是HTTP送出去的時候,經過IE,mozilla轉碼後看到的的東西...因為他是用GET method送的...form裡面的method是GET..
所以其實不是他轉碼的..是IE轉碼後送出去的...
這段代碼你run一下就曉得了...其實你不需要做編碼的動作啦..


  1. #!/usr/bin/perl
  2. ## Split the parameter of CGI
  3. sub SplitParam {
  4.         if ($ENV{'REQUEST_METHOD'} eq 'POST')
  5.         {
  6.         read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  7.         }
  8.         else
  9.         {
  10.         $buffer=$ENV{'QUERY_STRING'};
  11.         }
  12.         @pairs = split(/&/, $buffer);
  13.         foreach $pair (@pairs)
  14.         {
  15.          ($name, $value) = split(/=/, $pair);
  16.          $value =~ tr/+/ /;
  17.          $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  18.          $value =~ s/~!/ ~!/g;
  19.          if($FORM{$name} eq ""){
  20.             $FORM{$name} =$value;
  21.          }else{
  22.             if($FORM{$name} !~ /$value/){
  23.               $FORM{$name} .= ",".$value;
  24.             }
  25.          }
  26.         }
  27. }

  28. $input_t = $FORM{input_t};
  29. print "Content-type: text/html\n\n";
  30. print <<TTT;
  31. <html>;
  32. <head>;<title>;TTTT</title>;
  33. </head>;
  34. <body>;
  35. inpu_t  is $input_t
  36.                                                                                 
  37. <form name=form1 method="GET"  action="./tt2.pl">;
  38. <input type="text" name="input_t" value="">;
  39. <input type="submit" name="btnsubmit" value="送出">;
  40. </form>;
  41. </body>;
  42. </html>;
  43. TTT
复制代码

论坛徽章:
0
8 [报告]
发表于 2003-12-12 22:52 |只看该作者

这个应该算是微软的IE的JS bug吧!

不做編碼的動作 更不行呀

有些服务器不支持汉字gb2312,造成不能运行,我宁可甩掉这些js来保证兼容性,这样就可以运行在任何服务器上

论坛徽章:
0
9 [报告]
发表于 2003-12-13 07:04 |只看该作者

这个应该算是微软的IE的JS bug吧!

http://wefong.3322.org/sun/bbsutf-8/ccb/forums_list.cgi?forum=1&page=15&class=
你点里面的最后更新

同样的url地址.....

IE怎么会出两个标准,第二个没有js修饰语,就是正常的

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2003-12-14 23:05 |只看该作者

这个应该算是微软的IE的JS bug吧!

我可能有點誤會你的問題了..
因為我看的時候..都是名字下面的URL是怪怪的..
即便現在也是一樣...但是名字部分..我看到都是正常的..:)

http://wefong.3322.org/sun/bbsutf-8/ccb/u_name_view.cgi?&u_username=%C2%E9%C0%B1

1234.JPG (18.48 KB, 下载次数: 51)

亂碼的地方..

亂碼的地方..
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP