为什么iPod vcard页面只能用Firefox? --- 0x0D 0x0A Sunny 2008/06/20

| |

我有一个页面,是用来替iPod生成可读的电子小说格式,很方便,使用的朋友应该相当多。

但是,这个页面有一个缺点,只能用Firefox。这个不是我有意这么做的,是当时喜欢Firefox(当然现在也只用Firefox),实现了这样一个有用的功能。但当时确实也发现在IE下就不能正常工作。

今晚有兴趣研究了一下。先分别用Firefox和IE生成了同一段文字,然后用UltraEdit的compare功能,进行了比较。发现用IE生成的代码会多两个字符:0x0D 0x0A,google了一下,原来对应的是\r和\n。

其实这两个字符是从打字机的概念里来的:

0x0D => \r | CR | carriage return 指打字机在这一行的结束
0x0A => \n | LF | new line 指打字机换新的一行

Windows在行尾使用的是CRLF(0x0D 0x0A)
Unix/Linux则好象只使用LF(0x0A)
Mac好象只用CR(0x0D)

好笑吧?呵呵。三大主流操作系统在上述这个问题上很不一致。

再仔细看了一下,Javascript代码中有这么一段:

re=/\n/g;
sub_v_content = sub_v_content.replace(re,"\\n");

原来是用RegEx正则把换行符“/\n/”改成了实意的“/\\n/”。这是针对Firefox(或Mozilla)的。所以,为了匹配IE,我改动了代码:

if(navigator.appName.indexOf("Microsoft Internet Explorer")!=-1)
re=/\r\n/g; // in case of IE!
else
re=/\n/g; // in case of non-IE!
sub_v_content = sub_v_content.replace(re,"\\n");

我不知道现在都有些什么浏览器,反正大意是这样的:IE派和Mozilla派(可能还有Mac的Safari?)。为了严格定义此处的区别,我可能还需要花一些时间来研究一下。不过,眼下IE估计能用了。但Opera, MyIE之类的就不好说了。暂时假定和Firefox一样。

大家先试用一下吧!估计现在IE也能用了,有问题请联系我。

请给这篇日志评个分吧~!

本文评分: 5.1/10 (29 votes)    提示:您还未对本文评分,您可以进行评分并发表您的意见!

加入收藏!

spyrise Email Homepage IP
2008/06/24 10:23
“MyIE一样瞎子”是什么意思?不能用吗?
2mi IP
2008/06/23 17:59
Opera 好用呵呵
MyIE一样瞎子
推荐Opera 9.5
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [注册]