• 发布网站的时候发现360极速浏览器ie7内核不兼容样式的问题


    引言:  在Web应用的开发过程中,发现若干页面在360的浏览器上显示不正常,而在其他的浏览器上,皆为正常状态,问题出在哪里呢?

    问题的提出:

         Web页面在360的浏览器上,显示不正确。 但是在Firefox、chrome和IE8+以上的浏览器上,都是显示正常的。

    问题的分析

      1.  检查了一些JavaScript框架,标准的jQuery类库1.x系列,确认其工作正常,问题不是在于Javascript方面。

      2.  排查掉HTML标签内容的显示 问题。

      3.  怀疑是CSS在不同浏览器下的兼容性问题,见过排查,没有发现问题。

      4.  排查360浏览器,发现其在当前页面的显示中,默认使用了IE7的渲染引擎。同时,在IE7的环境下,重现了类似情况。

      5.  本质上,这个显示问题是页面在IE7下面的兼容性显示问题。


    关于360浏览器或搜狗浏览器的分析:

      对于此类浏览器,有时候号称双核或者N核的高速浏览器,其本质上就是本地IE浏览器的壳子,外加Chrome抑或Firefox的内核,大部分情况下都是WebKit系列内核。

    那么,此类浏览器依据什么信息,来判断页面的渲染模式呢?答案就是可以指令运行当前页面的浏览器使用何种渲染引擎的声明。

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

    这里,就是指令浏览器至少要使用IE8以上的渲染引擎来,渲染页面,从而规避掉IE7下的问题。


    关于Doctype.

    <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

    <!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

    在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

    分析:  doctype所要解决的就是使用何种HTML的语法解析器和渲染器。比如特定HTML标签的使用,则依赖于HTML Doctype的使用。

  • 相关阅读:
    Analysis Services features supported by SQL Server editions
    Azure DevOps to Azure AppServices
    Power BI For Competition
    Win10开机“提示语音”以及”随机播放音乐”
    Azure DevOps
    Allow Only Ajax Requests For An Action In ASP.NET Core
    Mobile CI/CD 101
    Configure SSL for SharePoint 2013
    AWS Step Function Serverless Applications
    Cordova Upload Images using File Transfer Plugin and .Net core WebAPI
  • 原文地址:https://www.cnblogs.com/taotaoyangyan/p/5508608.html
Copyright © 2020-2023  润新知