首頁  >  文章  >  web前端  >  bootstrap3 相容IE8瀏覽器! _javascript技巧

bootstrap3 相容IE8瀏覽器! _javascript技巧

WBOY
WBOY原創
2016-05-16 15:02:411878瀏覽

      近期在使用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>

註:寫成是不可行的

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檔

複製程式碼 程式碼如下:

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庫

複製程式碼 程式碼如下:

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">
 $(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裡的不等於判斷符相同

以上就是本文的全部內容,希望對大家的學習有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn