zoukankan      html  css  js  c++  java
  • 页面在360浏览器下的兼容性问题解决

    引言:  在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的使用。




  • 相关阅读:
    WCF如何通过契约加编码方式调用
    编码为multipart/form-data自定义类型(包括文件)如何自动绑定到webapi的action的参数里
    MSMQ消息队列
    使用windows服务和MSMQ和进行日志管理(解决高并发问题)
    二叉树的三种遍历方式
    go语言的3个包——strconv、os.Args、flag
    公钥、私钥、签名、数字证书的关系
    go语言实现单链表
    Go语言学习笔记(10)——错误处理示例
    go语言实现链式栈
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7102497.html
Copyright © 2011-2022 走看看