每当我接到电话或者是PM和我说:“那个xxx版型怎么跑掉了”或者说:“那个xxx的页面连接(Ajax 连接)怎么点下去页面只显示图和文字而其他部份都不见了”?
通常我会问两个问题:你是不是用IE?请问你的IE版本是多少?
通常来说,对方都是使用IE,而如果使用的是IE7,我只能在心理呐喊:“天哪、拜托可不可以升级或换浏览器啊”然后用客气的口吻把心理想的和对方沟通。如果不能换,那我只能拿掉一些比较新技术的东西,例如Ajax、CSS3等。
不过有时候我会遇到对方用的是比较新的IE,IE8以上,但是对方再使用网站会有问题,例如,点下ajax连接竟然直接显示Ajax内容而不是更新到页面某一个位置,或者Css整个跑掉,甚至页面空空的因为浏览器看不懂某个JS Framework。这些其实让我头痛了不久,因为在我电脑同样的IE明明就不会啊?
后来我终于找到了解法,也终于弄懂到底是怎么一回事,原来是IE的“兼容模式(Compatibility View)。(如果对接下来内容不感兴趣,或者急需知道答案,请直接卷到最后)。
和为IE兼容模式
在早起IE8之前,那个时候IE浏览器还属于比较独大的情况,那个时候他有很多东西是和网络的Standard不太一样。譬如他有自己才看的懂得自定义Tag。作为那个时代,很多网站都是以那个时候的IE作为目标浏览器去写的网页。
随著时间的进步,微软意识到自己搞自己的是不行的,需要跟Web Standard一样,慢慢的以前那些旧的只属于IE有的东西就在新的IE里面没有了。
但是为了以前浏览器而设计的网站要怎么办?他们就处于很尴尬的局面,因为如果不支持很多旧网站除了会跑版以外最要命是有些功能都会有问题。
为了解决这个问题,微软在IE8以后很佛心的加入了所谓的兼容性模式,也就是能够在旧的网站使用兼容性模式浏览,而一切正常,而到比较新的网站就用正常模式浏览。
听起来很棒,有问题的旧网站使用IE 兼容模式,新网站使用正常模式。但是这个有一个前提,那就是使用者要知道兼容性模式的意义和如何切换
兼容性模式如何变成问题
假设今天我用兼容性模式浏览一个比较新的网站,会发现有很多问题。首先,很多Jquery的东西都会怪怪的,像Ajax就不起作用了,或者一些JS UI Framework就完全毁掉了。
那你或许会说,就不要开兼容性模式不就好了?但问题是很多使用者不知道这个,而你和他介绍他也不一定听得懂。而最大的问题是,兼容性模式这个东西是可以设定说一直开启。
在一些公司里面,兼容性模式是预设开启的,意味著他们浏览很多网页都是处于那种状态,而使用者不一定知道如何把它关掉。
微软的解决办法
微软在这一篇有提到关于如何解决兼容性问题。他说,首先网页一定要设定docType,如果不设定,就会以Quirks mode(IE5)浏览。
但问题是如果使用者设定使用兼容模式浏览,就算有docType他也会以兼容模式浏览,那该怎么办?
微软因此说我们可以加一个metatag告知要使用的IE版本,而也是使用这个就能够强制不要使用兼容模式浏览。
那个“IE=Edge”表示使用目前IE最新的正常模式去浏览。当然,你也可以指定要使用哪一个版本的IE去浏览。
加上Chrome=1
我在网络上搜索的时候,发现有些人会在最后面加上Chrome=1,变成:
好奇的去搜索了一下,发现到StackOverflow也有人问了相同问题,才发现原来Chrome有一个IE Add on叫做Chrome Frame,而作用就是在IE内使用Chrome来显示页面,这样老旧的IE就可以浏览一些新的页面也不出问题,而那个Chrome=1就表示如果有装,就启用。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver Mac版
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境