Bootstrap 3浏览器兼容性问题及解决方案


Posted in Javascript onApril 11, 2017

Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。—— Bootstrap 官网

Bootstrap 来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript的,它简洁灵活。开发过程中,我们只需通过给DOM元素添加相应的class即可调用,使得 Web 开发更加快捷。

接下来进入主题,谈谈 Bootstrap 3 浏览器兼容性问题及其对应的解决方案:

1、移动设备支持情况

Bootstrap 3浏览器兼容性问题及解决方案

2、PC端支持情况

Bootstrap 3浏览器兼容性问题及解决方案

注:Windows 支持 IE 8-11。

请参考 浏览器支持情况 以获取详细的 Bootstrap 3在各个浏览器上的支持情况。

如上述所示,IE8 是被支持的。然而,很多 CSS3 属性和 HTML5 元素是不被支持的。例如,Bootstrap 的响应式布局是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式,IE8浏览器并不支持这一优秀的CSS3特性。Bootstrap在开发文档中已经明确指出, IE8 需要 Respond.js 配合才能实现对媒体查询(media query)的支持。按照官方文档,笔者在HTML文件<head></head>标签底部添加了如下的代码:

<!--[if lt IE 9]>
   <script src="https://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>
 <![endif]-->

注:其中 html5shiv.min.js 文件是让不(完全)支持html5的浏览器支持 html5 标签;respond.js 文件是让IE8实现对媒体查询(media query)的支持。

但是,在IE8浏览器中打开页面发现,兼容性问题并没有得到解决(坑、坑、坑)。通过查阅相关资料,笔者总结几点注意事项(效果实现的关键):

  • 本地调试需要Web Server(如IIS、Apache,Nginx),单纯地本地打开文件不能看到兼容效果;
  • 如果你发现已经引用了 respond.js 和 Bootstrap,仍无效果,请查看你的Bootstrap是否使用了CDN文件;
  • Bootstrap3 需要Html5文档声明;
  • Jquery 版本需要在2.0以下。

模板代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
 <!-- 编码格式 -->
 <meta charset="UTF-8">
 <title></title>
 <!-- 作者 -->
 <meta name="author" content="author">
 <!-- 网页描述 -->
 <meta name="description" content="hello">
 <!-- 关键字使用","分隔 -->
 <meta name="keywords" content="a,b,c">
 <!-- 禁止浏览器从本地机的缓存中调阅页面内容 -->
 <meta http-equiv="Pragma" content="no-cache">
 <!-- 用来防止别人在框架里调用你的页面 -->
 <meta http-equiv="Window-target" content="_top">
 <!-- content的参数有all,none,index,noindex,follow,nofollow,默认是all -->
 <meta name="robots" content="none">
 <!-- 收藏图标 -->
 <link rel="Shortcut Icon" href="favicon.ico" rel="external nofollow" >
 <!-- 网页不会被缓存 -->
 <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
 <!-- 解决部分兼容性问题,如果安装了GCF,则使用GCF来渲染页面,如果未安装GCF,则使用最高版本的IE内核进行渲染。 -->
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <!-- 页面按原比例显示 -->
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="plugin/bootstrap-3.3.0/css/bootstrap.min.css" rel="external nofollow" >
 <!--[if lt IE 9]>
  <script src="https://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>
 <![endif]-->
</head>

<body>

 <script src="plugin/jquery/jquery-1.11.2.min.js"></script>
</body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
悄悄用脚本检查你访问过哪些网站的代码
Dec 04 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
jquery动态增加text元素以及删除文本内容实例代码
Jul 01 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
Javascript中对象继承的实现小例
May 12 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
Aug 27 Javascript
js中使用使用原型(prototype)定义方法的好处详解
Jul 04 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
ajax与json 获取数据并在前台使用简单实例
Jan 19 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
webpack优化的深入理解
Dec 10 Javascript
Vue element-ui父组件控制子组件的表单校验操作
Jul 17 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
Apr 11 #Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 #Javascript
基于vuejs实现一个todolist项目
Apr 11 #Javascript
vue实现todolist单页面应用
Apr 11 #Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
Apr 11 #Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 #Javascript
javascript数组去重常用方法实例分析
Apr 11 #Javascript
You might like
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
斜45度寻路实现函数
2009/08/20 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
extjs render 用法介绍
2013/09/11 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
Python logging模块handlers用法详解
2020/08/14 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
政风行风自查自纠报告
2014/10/21 职场文书
解除租赁合同协议书
2016/03/21 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书