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 相关文章推荐
javascript据option的value值快速设定初始的selected选项
Aug 13 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
Mar 10 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
Jun 17 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
vue中v-model动态生成的实例详解
Oct 27 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
Nov 17 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
JavaScript事件的委托(代理)的用法示例详解
Feb 18 Javascript
React更新渲染原理深入分析
Dec 24 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
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
请离开include_once和require_once
2013/07/18 PHP
javascript比较文档位置
2008/04/08 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
JavaScript中AOP的实现与应用
2019/05/06 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
python3实现猜数字游戏
2020/12/07 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
python 两种方法删除空文件夹
2020/09/29 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
英文演讲稿
2014/05/15 职场文书
户籍证明书标准模板
2014/09/10 职场文书
灵山大佛导游词
2015/02/04 职场文书
学校会议通知范文
2015/04/15 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
Java中的继承、多态以及封装
2022/04/11 Java/Android
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL