你的网站「被兼容」了吗?
一样平常环境下,我们只会接头我们的网站怎样主动兼容某某赏识器,被动地守候赏识器来兼容我们的网站是不切现实的理想——哪个赏识器会那么巨大,原意主动为一个不兼容的网站而作出改变呢?IE8就是这样一个巨大的赏识器,Microsoft就是一家这样巨大的企业。 故事是这样的,我们有一小段JavaScript依靠于userAgent属性,同样是用IE8举办赏识,在测试情形上userAgent表现为MSIE 7.0,而在出产情形上userAgent表现为MSIE 8.0。为什么会这样呢?打开Developer Toolbar后,发明原本是Browser Mode这个开关在搞鬼——当Browser Mode是Internet Explorer 8的时辰,userAgent就是MSIE 8.0;当Browser Mode是Internet Explorer 8 Compatibility View(兼容性视图)或Internet Explorer 7的时辰,userAgent就是MSIE 7.0了。 接下来的题目是,我们并没有决心去拨动这个开关啊,两个沟通的页面怎么在差异的情形中默认表现为差异的Browser Mode呢?我的意料是,这是因为域名差异而引起的——Microsoft本身维护着一个Compatibility View List,当会见该List中的站点时,IE8会自动启用Compatibility View,也就是将Browser Mode切换到Internet Explorer 8 Compatibility View。接着我在地点栏输入以下地点,搜查了一下我当地最近更新的List: res://iecompat.dll/iecompatdata.xml 究竟表白,我们测试用的baidu.com域名确其实上述List中,但陈设到baidu.jp后也就离开了该List。这就很好地表明白我们碰着题目,同时也提示我们域名已经成为了IE8测试中不行停止的一个紧耦合身分。在已往,我们可以简朴地以为,陈设在差异URL的沟通页面在统一款赏识器中表现出来老是一样的。但此刻我们必需批改这句话了,仅当差异URL都基于统一个域名时上述命题如故创立。 通过这个案例,但愿能让各人相识到在开拓与测试进程中保持域名同等的重要性。假如你开拓的页面要陈设到example.com,你最亏得develop.example.com上开拓,在test.example.com上测试,然后再陈设。假如你必要在本机举办开拓测试,也要通过改hosts模仿一个localhost.example.com来举办测试与调试,以确保代码在最终陈设后能执行在沟通的情形下。 原文出自:http://www.cnblogs.com/cathsfz/ (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |