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 相关文章推荐
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
May 28 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
Sep 20 Javascript
vue-cli初始化项目中使用less的方法
Aug 09 Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 jQuery
vue cli3 配置proxy代理无效的解决
Oct 30 Javascript
原生js滑动轮播封装
Jul 31 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 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
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
一个实用的php验证码类
2017/07/06 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
php post换行的方法
2020/02/03 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
python递归查询菜单并转换成json实例
2017/03/27 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
django 取消csrf限制的实例
2020/03/13 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
2013年保送生自荐信格式
2013/11/20 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
体育馆的标语
2014/06/24 职场文书
退休欢送会主持词
2015/07/01 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS