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 相关文章推荐
常规表格多表头查询示例
Feb 21 Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 Javascript
node.js中实现同步操作的3种实现方法
Dec 05 Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
May 20 Javascript
Bootstrap模态框案例解析
Mar 05 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
详谈commonjs模块与es6模块的区别
Oct 18 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
浅析Angular 实现一个repeat指令的方法
Jul 21 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教程孙仲岳主讲
2008/01/07 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP 事件机制(2)
2011/03/23 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
超级退弹代码
2008/07/07 Javascript
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python简单实现获取当前时间
2016/08/27 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
详解Python传入参数的几种方法
2019/05/16 Python
利用python实现周期财务统计可视化
2019/08/25 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
如何基于python操作excel并获取内容
2019/12/24 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Django如何批量创建Model
2020/09/01 Python
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
工作证明格式及范本
2014/09/12 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android