当前位置: 首页 > Web前端 > HTML

必须http-equiv=-X-UA-Compatible-content=-ie=edge-吗?

时间:2023-04-03 00:42:29 HTML

博客地址前言通常使用vue写新项目,老项目在原有基础上更新。对于vue这样的框架,使用官方的脚手架通常可以避免很多问题,就像用模板创建一个新的单页一样。然而,有时候总会遇到一些不遵循模板的代码。虽然运行没有问题,但是在某些浏览器中会出现BUG。这时候了解和掌握已有的模板就显得非常重要了。Main当我使用html模板新建一个单页时,得到的页面是这样的,vue也类似,至少三个meta标签基本相同:Documentviewport只有兼容移动端才能理解,费了一番功夫.而X-UA-Compatible只有在遇到非常规代码的时候才会被记住。有一次我换了个老项目,用了transform,在ie11上测试,不行,在它的toolbar里看不到我写的stylesheet里的代码。这时候我就好奇了,这就是ie11,为什么不支持transform呢?然后看了下开发者工具,大概是这样的:然后我很好奇,为什么是ie7模式?明明装的是ie11浏览器,然后脑袋一闪,好像明白了什么,看了一下html,没有:Add上传完成后,再次刷新,页面就正常了。在这件事情之前,我就知道这个东西,但是因为我用的模板,所以没遇到过这个问题,而且一般来说,我会觉得既然我在ie11打开了,没有理由让你用默认。ie11-文档模式渲染,结果错误。后来看到SO上的高票回答者大概是这样解释ie的行为的:如果没有上面这行代码,ie会按照它认为最好的方式渲染页面。另外,ie11已经开始舍弃上面那个了。如果兼容ie的话,其实上面的代码就不用写了,但是目前还是默认支持html模板和vue模板。上面这行代码的实际含义是:Edge:始终以最新文档模式渲染页面。Doctype声明被忽略。对于IE8,始终保持在IE8标准模式下呈现页面。对于IE9,页面以IE9标准模式呈现。当然ie也可以等于其他值,但其他值大多是老版本。目前不用纠结,比如:"IE=edge""IE=11""IE=EmulateIE11""IE=10""IE=EmulateIE10""IE=9""IE=EmulateIE9...EndingReference有什么作用?