□……IE5.5的BUG
前不久微软发布了它的IE 5.5正式版,像我这样的软件升级狂当然是迫不及待地赶着装了一个来 尝鲜,反正是不要钱嘛。OK,终于升级完毕。让我马上试试,用这双升了级的眼睛去看看网络世界到
底和以前有什么不同。咦,真的有不同耶,怎么以前熟悉的网页有点不对劲:“运行期错误”、“类 未注册”之类的信息不断跳出来;一些应该出现的图片不能显示……这到底是怎么一回事啊?
经过我和我的好朋友一番摸索之后总算明白了原因。让我奇怪的是,这次微软一反以往的作风,IE
5.5没有完全向下兼容。
也就是说以前用IE 5.0可以正常浏览的网页现在用IE 5.5就有可能不能再正常浏览了。这是因为这
个版本的IE对HTML的解释采用了一些新的标准。举一个我碰到的例子:在IE 5.0中可以使用空层来达 到遮罩效果。所谓空层就是中间什么也没有的一对标签。把这样一个空层覆盖在网页的最上边,就可
以覆盖住下边的超链接之类的你不想别人太早接触的东西,然后在适当的时机和条件下把这个层 的visibility属性设为hidden。这样下边的超链接等就又可以使用了。
你可以自己做一些这样的层分别在IE 5.5和IE 5.0中测试。你会发现在IE
5.5中空层好像就真的像 它的名字一样,变得不存在了。难道它真的不存在了吗?由于我没有拿到IE 5.5的技术资料,我只能 推测:空层的确是变空了,这句话可以这么理解。在IE
5.0中空层就像是块玻璃,虽然透明但是不可 穿透,而在IE 5.5中,空层只是一个框,中间是可以穿透的。像这样一个东西当然是什么也遮不住了
。也可能是层的大小是根据标签中间的内容自动调整大小的。像空层这种东西,由于中间什么也没有 ,那就会缩小成一个点,什么也遮不住了。
推测原因就是为了寻求一个解决方案,来看看我们的摸索经过吧:一开始我们猜测空层是不支持透
明背景了,所以我们为它添加了背景颜色。之后,原先的作用又恢复了。看来给空层添加背景颜色可 以解决这个问题。可是且慢,你也许已经感觉到只是简单的添加背景颜色好像还是不够好,一块块的
颜色显得很不和谐,而且还遮住下边的图片,把整个页面搞得面目全非。不行!再试试其它的:既要 让它不是空的,又得让它透明,那就只有在标签中插入空格了,也就是在一对
插入几个“ ”来达到目的,成功了。可是还是有点不对劲,比较小的层使用这种方法是没有 问题了,可是比较大的层又有问题了,那要插入多少个“ ”啊,而且要想精确的控制层的大
小也因此会变得不容易。呵呵,还好我另有妙计:比如解决起遮罩作用的空层吧,在IE 5.0中是一开 始就在页面上覆盖一个空层来遮住下边的东西,然后在适当的条件下把这个层变成隐藏的,这样下边
的东西就变得可用了。现在IE 5.5中既然不能使用空层来起覆盖的效果,那我们就用一个两全其美的 办法,将想要隐藏的网页元素一起放到一个层中,通过显示或者隐藏一个层来达到目的。
由于没有拿到关于IE 5.5所支持的新标准的资料,我无法一一测出IE
5.5到底对哪些标签的解释和 以往不同。但我可以确信,对层的解释已经和以往不同了。以前的某些属性已经不能像以前那样在IE 5.5中正常显示,同时我猜测在舍弃了对这些属性的支持后,IE
5.5一定会添加一些新的属性。可惜 的是现在我还不知道到底哪些属性不再支持,到底添加了哪些属性。姑且不论这种改动是好是坏,我
是为了消除IE 5.5浏览网页时不能正常显示的问题忙得不亦乐乎,这就是我们这些负责后台的工作人 员的苦处了。每次出现一个什么新的标准我们就可能会痛苦那么几天来适应,不过想到大家能够安心
享受到我们的工作成果,痛苦也就稍微好受些了。