前面在《Firefox有bug啊!!!》中,我提到了我有一个困惑:为何我的程序在Firefox不正常?但在IE下正常?
大家会看到我的博客里是时不时加点google广告的吧?没办法,想赚点小钱维持家用~
我的策略是:如果有图片尺寸大于150*60,则不显示广告,否则就插入广告。这个程序看起来设计得很完美,在IE下非常正常。但后来,我意外地发现Firefox下有时会失效,但奇怪的是,Firefox并不报错。这是怎么回事呢?
这个问题,我纳闷了好久,一直没想出来怎么回事。
昨晚,我突然想明白了!我好象记得有篇文章上谈到IE和Firefox的显示策略区别:IE是先同时下载图片和网页,而Firefox则是先下载网页,再下载图片。这样,就造成了在Firefox下时,Javascript在判断是否存在图片尺寸大于150*60的失败,因为Javascript在执行时,有时候图片还根本没载入!!!
既然明白了是怎么回事,知道了root cause,就知道如何生成一个short-term solution了。我已经改过了,用setTimeout(fun,2000),指定在2秒后再进行判断。这样,似乎情况好一点。至于long-term solution,我觉得哪天有空要重新看一下,优化一下代码。
