浅谈如何让 Bootstrap 3兼容IE8浏览器

Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。—— Bootstrap 官网



Bootstrap 来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript的,它简洁灵活。开发过程中,我们只需通过给DOM元素添加相应的class即可调用,使得 Web 开发更加快捷。

接下来进入主题,谈谈 Bootstrap 3 浏览器兼容性问题及其对应的解决方案:

1、移动设备支持情况

2、PC端支持情况

注: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浏览器中打开页面发现,兼容性问题并没有得到解决(坑、坑、坑)。通过查阅相关资料,笔者总结几点注意事项(效果实现的关键):

  1. 本地调试需要Web Server(如IIS、Apache,Nginx),单纯地本地打开文件不能看到兼容效果;
  2. 如果你发现已经引用了 respond.js 和 Bootstrap,仍无效果,请查看你的Bootstrap是否使用了CDN文件;
  3. Bootstrap3 需要Html5文档声明;
  4. 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">
    <!-- 网页不会被缓存 -->
    <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">
    <!--[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>
时间: 2024-10-11 11:57:46

浅谈如何让 Bootstrap 3兼容IE8浏览器的相关文章

【转】让Bootstrap 3兼容IE8浏览器

FROM : http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 最近在研究Bootstrap(官方,Github)这个优秀的前端框架,Bootstrap最开始是Twitter团队内部的一个前端框架,所谓前端框架就是一个CSS/HTML框架,框架里面有下拉菜单.按钮组.按钮下拉菜单.导航.导航条.面包屑.分页.排版.缩略图.警告对话框.进度条.媒体对象等.Bootstrap他们预先定义好,等要进行正式制作网页的时候,

让Bootstrap 3兼容IE8浏览器

http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 看到这篇文章有越来越多的人看,我决定给大家节省时间,废话少说.有几个点大家要注意. 1.本地调试需要Web Server(如IIS.Apache,Nginx),单纯地本地打开文件不能看到兼容效果. 2.如果你发现已经引用了respond.js和Bootstrap,仍无效果,请查看你的Bootstrap是否使用了CDN文件.(详情看第4点) 3.本文主要针对Boots

Bootstrap 3兼容IE8浏览器(转)

Bootstrap是一个响应式的布局,你可以在宽屏电脑.普通电脑,平板电脑,手机上都得到非常优秀的布局体验.这种响应式的布局正是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式.IE8浏览器并不支持这一优秀的Css3特性,Bootstrap在开发文档中写了如何使用进行兼容IE8.但是笔者多次尝试没有成功,IE8的布局是乱的.直到今天忍无可忍,决定再尝试一下,最终获得成功.有些细节没有注意到,导致IE8没法响应式布局. 下面讲解下如何让Bootstrap

Bootstrap 3 兼容 IE8 浏览器

公司新旧的项目,前端用的Bootstrap3的框架,但它已经放弃对IE9下的支持了.可IE8还是有着许多用户,不能不照顾到他们,IE7以下的,我只想说,现在什么年代了,要解放思想,与时俱进啊,就不能动动手升下级吗. 于是着手解决,在http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html发现了解决方法,亲测可行.在此声名对此作者的感谢. 进入主题. Bootstrap是一个响应式的布局,你可以在宽屏电脑.普通电脑,平板电脑

bootstrap datetimepicker兼容ie8

bootstrap datetimepicker兼容ie8 (2015-06-09 16:14:00) 转载▼   分类: js 错误:由于ie8不支持indexOf这个方法,所以在引入bootstrap-datetimepicker.js的时候在ie8中会js引入错误. 解决: 在bootstrap-datetimepicker.js文件前面加入 if (!Array.prototype.indexOf){ Array.prototype.indexOf = function(elt ){ v

【Bootstrap】兼容IE8、谷歌和其他主流浏览器的观众IMAX风格的页面

尽管说IE6除了苛刻要求的一部分,我们一直没能考虑,但WIN7内置的浏览器IE8还需要支持. 在本文中,基本这种方法的优点,我个人认为,这是准备少.我们不需要在网上找了很多照片,使材料,你只要准备好了bootstrap.jquery与photoshop在上面.bootstrap与jquery怎么配置.能够參考<[Bootstrap]一个在当前网页弹出的对话框,能够关闭.不用跳转.非弹窗>(点击打开链接) 被要求编写一个站点,经常会被怎样布局困扰. 事实上也不难.假设可以熟练使用Bootstra

bootstrap 不兼容ie8 的问题

官方推荐的脚手架中,其实已经包含着解决方案:html5shiv.min.js .Respond.min.js 但由于respond.js  使用 file:// 协议,IE8 是无法调起本地文件的  只在本地预览是看不出效果的.只能部署在web服务器上才能见效.比如apache/iis等.推荐使用360浏览器兼容模式来测试 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&quo

bootstrap兼容ie8浏览器

只需要引这3个包就可以了 <link rel="stylesheet" href='bootstrap/dist/css/bootstrap.css'> <!--[if lte IE 9]> <script src='bootstrap/js/html5shiv.js'></script> <script src='bootstrap/js/respond.js'></script> <![endif]--&

兼容IE8浏览器移除class样式的方法

项目中发现,IE8下不兼容JQ的removeClass和addClass,页面无效果 网上找了很多方法都没有效果,最终找到一个很好的笨方法 var div=document.getElementById("目标元素ID"); div.className = " ";  这个就是兼容性最好的方法 如果一个元素有多个class可以用下面方法移除其中一个 div.className = div.className.replace(/(^|\s+)fixed(?=$|\s+