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 相关文章推荐
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
js特殊字符过滤的示例代码
Mar 05 Javascript
javascript实例分享---具有立体效果的图片特效
Jun 08 Javascript
Nginx上传文件全部缓存解决方案
Aug 17 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
Nov 29 Javascript
js获取本机操作系统类型的两种方法
Dec 19 Javascript
Wireshark基本介绍和学习TCP三次握手
Aug 15 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
AngularJS Phonecat实例讲解
Nov 21 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
php命令行模式代码实例详解
2021/02/26 PHP
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
Python networkx包的实现
2020/02/14 Python
Django choices下拉列表绑定实例
2020/03/13 Python
python+requests接口自动化框架的实现
2020/08/31 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
adidas泰国官网:adidas TH
2020/07/11 全球购物
考试退步检讨书
2014/01/15 职场文书
人事代理委托书
2014/09/27 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
单方投资意向书
2015/05/11 职场文书
革命电影观后感
2015/06/18 职场文书
大学生军训感言
2015/08/01 职场文书
教师节随笔
2015/08/15 职场文书
高中物理教学反思
2016/02/19 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书