正在加载...

按 ‘ w3c ’ 标签归档

有关网页兼容性的几件事

最近碰到了几件有关网页兼容性的问题,本来是不想发牢骚的,但是实在憋不住了。

首先就是前阵子升级了Opera 11,别的还好,但是Syntax Highlighter中的链接全都被自动转换了,与该插件的设置无关,似乎是Opera 11才作祟。

其次就是Chrome的问题了,由于一直在使用Chromium,虽然一直能够体验到新鲜的功能,但是对兼容性无非是牺牲了很多,目前最最让人郁闷的就是在论坛上登录时不能自动跳转,快速回复的时候也不能自动跳转,这要是一个经常上论坛的人来说早就崩溃了。

再说说IE的问题,今天帮堂弟报考高,话说现在都是网上报名了,学校又减轻负担了。。。这个…… 呃~~ -______-” 有点跑题。。。主要原因就是那个填写个人信息的页面竟然是IE 5.5+,我真有点无语了,对于我这个Win7来说,连IE6都没有。。。主要问题是一段javascript中的调用,貌似对Firefox什么的都不兼容的。

还好在虚拟机下装了个XP,最后用IE6搞定了。。。

其实主要不兼容的问题还是出在Javascript,如果是外观问题的话,则可能出在css上,由于各个浏览器的解析方式不同,而且现在浏览器都是以速度为主要竞争手段,不兼容的问题越来越多了。

UTF-8在IE中不能自动选择编码的解决办法

在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:,由此造成某些含有中文UTF-8编码的页面产生空白输出。

如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。

由于UTF-8为3个字节表示一个汉字,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和的<结合成一个乱码字,导致IE无法读完部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。</p> <p>因此最简单的解决办法是在网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />放在<title>之前。