layer兼容性问题
一、Layer 弹出层在ie8错乱的解决办法
弹出层在火狐、谷歌、360极速模式、IE6下都能100%面积正常显示,但在IE8和360的兼容模式下只显示弹出层下半部分或右半部分的内容,在主页面加上:
<meta http-equiv="x-ua-compatible" content="ie=7" /> 即可解决。
但是我的项目是在弹出层上面再有弹出层,结果是第二弹出层的没问题了 但是第一弹出层被影响了(一些导航和标题浮动了)。
后来看到了淘宝的源代码是这样写的:<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
网友是这样解释的:
这是一个,文档兼容模式的定义。 Edge 模式告诉 以最高级模式渲染文档,也就是任何 版本都以当前版本所支持的最高级标准模式渲染,避免版本升级造成的影响。简单的说,就是什么版本 就用什么版本的标准模式渲染 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 使用以下代码强制 IE 使用 Chrome Frame 渲染 <meta http-equiv="X-UA-Compatible" content="chrome=1"> 提示 IE 用户安装 Google Frame Google 官方提供了对 Google Frame 插件安装情况的检测,这里直接调用方法即可,如果检测到 IE 并未安装 Google Frame,则弹出对话框提示安装。 <script src=""></script><script>CFInstall.check();</script> 最佳的兼容模式方案,结合考虑以上两种: <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
二、360浏览器兼容模式无法弹出layer对话框问题
问题 Layer插件的提示框在极速模式下正常显示,但是兼容模式下不显示。
解决
360有俩模式(点击地址栏的闪电图标或者IE图标可以切换)
一个是基于Webkit内核的极速模式,一个是IE内核的兼容模式。
强制360以极速模式浏览网页,可以给此网页增加meta,强制360浏览器以极速模式解析此网页,而非IE兼容模式。
<html> <head> <meta name="renderer" content="webkit"> </head> <body> </body> </html>
content的取值为webkit,ie-comp,ie-stand之一,区分大小写,分别代表用webkit内核,IE兼容内核,IE标准内核。
-
若页面需默认用极速核,增加标签:<meta name="renderer" content="webkit">
-
若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp">
-
若页面需默认用ie标准内核,增加标签:<meta name="renderer" content="ie-stand">