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代码超级推荐
Apr 05 Javascript
ASP中Sub和Function的区别说明
Aug 30 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
Apr 12 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JavaScript判断表单为空及获取焦点的方法
Feb 12 Javascript
jQuery实现的tab标签切换效果示例
Sep 05 Javascript
AngularJS实现根据变量改变动态加载模板的方法
Nov 04 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
Jun 19 Javascript
Vue监听页面刷新和关闭功能
Jun 20 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 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超级全局变量
2010/01/26 PHP
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
Yii核心验证器api详解
2016/11/23 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
python tkinter组件摆放方式详解
2019/09/16 Python
python实现高斯投影正反算方式
2020/01/17 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
CAD制图人员的自荐信
2014/02/07 职场文书
初中三年毕业生的自我评价分享
2014/02/14 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
西岭雪山导游词
2015/02/06 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python