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 相关文章推荐
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
Aug 28 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
javascript利用apply和arguments复用方法
Nov 25 Javascript
js实现用户注册协议倒计时的方法
Jan 21 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
vue2 拖动排序 vuedraggable组件的实现
Aug 08 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
Mar 26 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学习之数组值的操作
2011/04/17 PHP
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
MySQL最常见的操作语句小结
2015/05/07 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
tensorflow 模型权重导出实例
2020/01/24 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
init进程的作用
2015/08/20 面试题
面料业务员岗位职责
2013/12/26 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
领导失职检讨书
2014/02/24 职场文书
小学运动会口号
2014/06/07 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
小学班主任评语
2014/12/29 职场文书
撤诉书怎么写
2015/05/19 职场文书
复兴之路观后感
2015/06/02 职场文书
判断Python中的Nonetype类型
2021/05/25 Python
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL