欢迎来到我的博客,这里关注汽车研发、Bo-blog博客、域名网站等专业内容!如果你喜欢我的博客,请将本站“加入收藏”,有空多来看看!

用了Win7,不知道从什么时候开始(或许从一开始),发现以前保存的mht文件竟然打不开了。让我很郁闷。

今天实在难受了,百度了好久,先用Firefox的addon,比如unmht或别的,结果发现好像没啥作用,还是打不开(显示为找不到这个文件,虽然文件明明在那里)。

找啊找,终于找到一个最终发现能解决问题的方法,导入一个注册表文件。

Tags: , , ,

我的博客,出现的Google广告,我是设计过的。

如果检测到有图片,我就不放Google广告了。否则,按照一定的规则,会随机插入广告。

这些设置在IE下似乎一切都很完美。然而,到了Firefox,就不行了。

我发现有些日志里面带了图片,但Google广告仍会显示,明显没有按照我编写的规则来。

但Firefox却不提示有问题。同时强行刷新页面时,又正常了,不会显示Google广告了,太奇怪了。

我分析来分析去,没觉得我的代码有什么错误,看来是Firefox的问题了。

Tags: , , , , ,

最近听闻Bo-blog有人被挂马了,被加上了一个http ://ccj1.cn/的网址(<-请大家不要随便访问这个网址,尤其是IE!!!)。

我用Flashget下载了这个网址,得到如下的首页代码(请不要随便点击下面的网址!!!):

下面的代码是纯Javascript,不知道为何Firefox会直接解释呢?

追记:后来测试了几种情况,弄明白了,不是说这段代码有什么特殊的功能。是否能完成Cookie的验证,我都怀疑。怀疑这个SB忘了在前后加上<script></script>标记。但为什么会引起病毒,是因为网页的代码(别管是HTML代码还是JS代码)中,只要出现<iframe src=''></iframe>,IE和Firefox就会试图载入这个页面(这段代码不是啥JS,因为它没有用<script></script>括起来。说穿了,只要写一句<iframe src='virus_page'></iframe>,访问者就会中病毒!)。只是IFRAME里的SRC页面就是用Flash特制的病毒页面罢了。

http://spyrise.org/blog/category/iPod/ 里,我编写了一个用Javascript来生成iPod所用的vCard文件。

最近,我决定重写一下代码,优化一下。因为我必须做到IE和Firefox效果相同,所以调试了好久。无意中,我发现了两个关于IE奇怪的现象。

1) 如果你使用<textarea id="inputArea"> </textarea>。当你复制一大段文字进入这个TEXTAREA输入框。然后用alert(document.getElementById("inputArea").value.length)来获取输入文字的字数时,你会发现IE报告的字数会比Firefox多一些。

什么原因呢?原因是IE关于换行符的解释为\r\n,而firefox是\n,少了一个\r。每一个换行符,就会差一个字。而实际情况中,会有很多段落,自然两者的长度会不一样了:IE会比Firefox多一些字节。我们可以使用以下代码来消除IE中的\r。

if(navigator.appName.indexOf('Microsoft Internet Explorer')!=-1) obj=obj.replace(/\r/g,'');

在进行了以上去除\r的操作后,两者的字符串长度就相同了。

2) 如果你使用 inputArea=document.getElementById("inputArea").value 的Javascript代码时,Firefox不会告诉你这个是错误,但IE会奇怪地报告:该对象不支持此方法或属性。原因是变量名与Id名相同了。虽然我认为,前者是变量,后者是DOM对象,根本就是两回事,为何不可这么写,但事实就是这样。如果你在最前面加上var,则可以:var inputArea=document.getElementById("inputArea").value。但是即使这么写,后来我发现我陷入了混乱,而且不明白为何会这样。最后我只好将原Id名从inputArea改名至v_inputArea来解决这个问题。

我现在用的是Bo-blog系统,后台的编辑器自己下载了一个FCKeditor,说实话,挺好用的。

可就是,刚才没事用IE试着打开了一下这个blog,发觉显示方面和Firefox差得太大。原因还不知道。

劲舞团那篇,最后我为了搜索方便,加了一个Google Search。在Firefox下,是连续的。不知道为什么IE下就会空开那么长一大截?再下面的那篇可用交通卡充值的文章,也是这样。空开了非常长的一段空白,百思不得其解。不晓得是不是这个FCKeditor的问题。

有没有朋友是用Opera或是别的非IE浏览器,帮我确定一下,是不是只有IE会这样?

我有一个页面,是用来替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也能用了,有问题请联系我。

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]