Heero's Blog

Heero's Blog » 前端开发

傲游对开发人员的影响越来越大了

不得不承认,傲游在用户体验方面是做得比较好的,所以它的用户群非常大。也正因为如此,它的某些不好的特性也造成了开发人员不可忽略的浏览器兼容问题。

Flash缓存?

前段时间在公司一个内部项目中,需要在网页里面嵌入一个批量上传图片的Flash。这本来是很简单的事情,在IE、Firefox等浏览器下也测试通过了,然而在傲游下却出现了一个奇怪的问题:从第二次浏览该网页开始,Flash变成了一片空白。即使关闭了所谓的网页加速,还是不正常。用Google搜了一遍后,发现唯一的解决办法是在文件地址后加一串随机数避免缓存

IE7 or IE8?

大部分Javascript框架使用navigator.userAgent判断浏览器类型,例如:

var userAgent = navigator.userAgent.toLowerCase();
jQuery.browser = {
  version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
  safari: /webkit/.test( userAgent ),
  opera: /opera/.test( userAgent ),
  msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
  mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

当IE的版本是8.0时,傲游的设置中会出现一个“启用IE8标准渲染模式”的选项。如果没有勾上此选项,傲游默认用IE7模式进行渲染,userAgent中标识的版本也是IE7:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; MAXTHON 2.0)

后来,我在网页<head>区域加上了X-UA-Compatible的设置:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

此时网页虽然是以IE8模式进行渲染,但userAgent中标识的版本仍然是IE7。

傲游2.5后的版本给我的感觉是越来越糟糕,在这里期待一下Webkit核心的3.0版本。

评论 (共 1 条) 发表评论
发表评论
(必填)
(保密)
(必填) 点击更换验证码

(您发表的内容需通过审核才会显示)