>  Q&A  >  본문

html5为什么不兼容低版本的浏览器?

项目组用html5开发的产品,放到低版本的浏览器样式全乱了,有没有什么好的解决办法?在线等...

高洛峰高洛峰2742일 전1264

모든 응답(14)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 11:16:04

    我觉得标题应该叫为啥老版本浏览器不兼容新技术!!!更好

    这就好像要Iphone5以及更老的机子要支持指纹识别一样.臣妾做不到啊!

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 11:16:04

    本人做页面的时候,低版本浏览器hack保证页面布局不乱就行,添加标签

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

    让国内的双核浏览器用chrome内核解析。
    其实国内真就没有几个用IE6、IE8的,XP用户绝大多数都是用的360这些国产双核。

    另外360有个自有的标签

    <meta name="renderer" content="webkit">
    

    可以强制使用Webkit内核渲染。
    参见:http://se.360.cn/v6/help/meta.html
    真要在低版本浏览器使用效果的话,好像有这种JS库,你可以找找。

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 11:16:04

    你去给我兼容个未来才有的东西试试!!!

    计算机技术的进步过程中,除了不毁坏旧实现的扩充(extend)之外,必然也伴随着激烈的弃用(deprecate)和修正(fix)。其实我觉得题主只不过是偶然忽略掉了这两种可能,而不是真的存在阻碍理解技术进步的智商问题。

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 11:16:04

    html5的产品不可以在低版本上运行

    上面说的太过绝对,要看在开发者在开发时是否考虑到兼容低版本的浏览器,要看实现了哪些功能。
    首先要了解html5实现了哪些功能。

    • 本地存储功能
    • canvas
    • files api
    • video,audio
      。。。

    这些功能,在低版本上,html是不支持的,如果使用了此功能是一定不会运行使用的。

    楼主说样式错乱,原因应该是

    1. 大量的使用了html新的标签,ie7以下是不认识的,也不会解析,一般解决方法是createElement 一个同名的标签。
    2. 应该使了较多的css3样式,这在老的浏览器中也是不可以使用的,比如布局方式,就有很大不同。

    。。。

    所以,楼主若想能否在别的浏览器中可否正常查看,请咨询你们的前端技术人员。

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 11:16:04

    要兼容低版本就不要用html5啦,兼容性很难保证。先确认兼容才写进去吧

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 11:16:04

    head 标签里加上下面这句话

    <!--[if lt IE 9]>
      <script src="http://cdn.staticfile.org/html5shiv/r29/html5.js"></script>
    <![endif]-->
    

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:16:04

    html5是标准,需要标准去迁就老掉牙的东西?标准的意思就是别人都要遵守,低版本的浏览器不能支持新的标准,只能说是必然。技术在进步,新陈代谢是必然!

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:16:04

    你如何去兼容一个不存在的东西?

    当IE6 7 出来时,html5 还不算标准,为什么要去兼容一个不标准的东西

    회신하다
    0
  • PHPz

    PHPz2017-04-17 11:16:04

    我想问 ,你是技术吗?

    회신하다
    0
  • 黄舟

    黄舟2017-04-17 11:16:04

    前面大家都说了。

    为了让低版本浏览器(别看了,说的就是你IE!)能兼容html5标签的话,加上html5shiv.js吧。

    회신하다
    0
  • 취소회신하다