bootstrap3 兼容IE8浏览器!


Posted in Javascript onMay 02, 2016

      近期在使用bootstrap这个优秀的前端框架,这个框架非常强大,框架里面有下拉菜单、按钮组、按钮下拉菜单、导航、导航条、面包屑、分页、排版、缩略图、警告对话框、进度条、媒体对象等,bootstrap都已经预先定义好了,当我们制作网页上,只需直接调用里面的css即可

bootstrap是一个响应式的布局,你可以在宽屏电脑、普通电脑,平板电脑,手机上都得到非常优秀的布局体验。这种响应式的布局正是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式。IE8浏览器并不支持这一优秀的Css3特性,Bootstrap在开发文档中写了如何使用进行兼容IE8,如果想兼容IE6,IE7,可以搜索bsie (bootstrap2)

Bootstrap在IE8中肯定不如Chrome、Firefox、IE11那么完美,部分组件不保证完全兼容,还是要Hack的

1、使用html5声明

<!DOCTYPE html>
这里不可以有空格
<html>

注:写成<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">是不可行的

2、加入meta标签

确定显示此网页的IE版本

<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />

注:bootstrap不支持IE兼容模式,为了让IE浏览器运行最新的渲染模式,将添加以上标签在页面中,IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件Google Chrome Frame

3、引入bootstrap文件

<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet">

4、引入html5shiv.min.js和respond.min.js

让不(完全)支持html5的浏览器“支持”html5标签

<!--[if lt IE 9]>
<script src="js/bootstrap/html5shiv.min.js"></script>
<script src="js/bootstrap/respond.min.js"></script>
<![endif]-->

5、添加1.X版本的Jquery库

<script src="js/bootstrap/jquery-1.12.0.min.js"></script>

6、在IE8下测试,发现一个问题placeholder不被支持,下面是解决IE支持placeholder的方法,本文引用的jquery是1.12.0测试通过,先引用jquery

<script type="text/javascript" src="js/bootstrap/jquery-1.12.0.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>

也可以用其他的jquery版本,再引入

[code]<script type="text/javascript" src="js/bootstrap/jquery.placeholder.js"></script>
然后在文件中加入一下代码

<script type="text/javascript">
 $(function () {
 $('input, textarea').placeholder();
 });
</script>

代码总结如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
 <meta name="author" content="zhy" />
 <title>ie8</title>
 <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css">
 <!--[if lte IE 9]>
 <script src=js/bootstrap/respond.min.js"></script>
 <script src=js/bootstrap/html5shiv.min.js"></script>
 <![endif]-->
 <script src="js/bootstrap/jquery-1.12.0.min.js"></script>
 <script src="js/bootstrap/bootstrap.min.js"></script>
</head>
<body>
</body>
</html>

附注:

1、IE下判断IE版本的语句

<!--[if lte IE 6]>
<![endif]-->
IE6及其以下版本可见
 
<!--[if lte IE 7]>
<![endif]-->
IE7及其以下版本可见
 
<!--[if IE 6]>
<![endif]-->
只有IE6版本可见
 
<![if !IE]>
<![endif]>
除了IE以外的版本
 
<!--[if lt IE 8]>
<![endif]-->
IE8以下的版本可见
 
<!--[if gte IE 7]>
<![endif]-->

IE7及大于IE7的版本可见
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判断符相同

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js tab效果的实现代码
Dec 26 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
Mar 28 Javascript
JavaScript cookie的设置获取删除详解
Feb 11 Javascript
详解JavaScript中的异常处理方法
Jun 16 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
JavaScript实现Fly Bird小游戏
Dec 15 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
vue项目tween方法实现返回顶部的示例代码
Mar 02 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
javascript实现列表切换效果
May 02 #Javascript
基于javascript编写简单日历
May 02 #Javascript
Bootstrap媒体对象的实现
May 01 #Javascript
Bootstrap进度条组件知识详解
May 01 #Javascript
BootStrap glyphicons 字体图标实现方法
May 01 #Javascript
JS实现左右无缝轮播图代码
May 01 #Javascript
JavaScript中的继承之类继承
May 01 #Javascript
You might like
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
js微信分享实现代码
2020/10/11 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
windows下ipython的安装与使用详解
2016/10/20 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
迟到检讨书800字
2014/01/13 职场文书
简历中的自我评价范文
2014/02/05 职场文书
国企干部对照检查材料
2014/08/22 职场文书
高中校园广播稿
2014/10/21 职场文书
文员岗位职责
2015/02/04 职场文书
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技