一段非常簡單的js判斷瀏覽器的核心,js判斷核心

來源:互聯網
上載者:User

一段非常簡單的js判斷瀏覽器的核心,js判斷核心

  大家應該還記得JavaScript行內樣式怎麼寫吧?(看來我是廢話了!)

  在前端開發過程中,有時我們需要判斷瀏覽器的核心首碼,對不同的瀏覽器做出不同的處理,因此我們可以這麼做。

  alert(element.style.webkitTransition); 這個是擷取以webkit為首碼的transition值。但如果不是webkit為首碼的瀏覽器,則會返回undefined。而我們可以將所有的核心首碼給枚舉出來,然後擷取其某個CSS的值,即可做出判斷。代碼如下:

function getVendorPrefix() {  // 使用body是為了避免在還需要傳入元素  var body = document.body || document.documentElement,    style = body.style,    vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'],    i = 0;  while (i < vendor.length) {    // 此處進行判斷是否有對應的核心首碼    if (typeof style[vendor[i] + 'Transition'] === 'string') {      return vendor[i];    }    i++;  }}

  然後只需要調用getVendorPrefix()即可知道瀏覽器的核心首碼,如果返回undefined則證明瀏覽器不支援CSS3屬性,即沒有核心首碼。

  大家應該知道,我們在寫代碼的過程中,能寫CSS就不寫JavaScritp,畢竟CSS的效能會比自己寫JS的高一些,因此,我們在開發一些實際應該中,會用到transition,比如一個簡單的圖片輪播,我們可以使用CSS3的transition,也可以使用jQuery的animate或自己寫原生,但CSS3的效能肯定會高一些,因此我們可以寫兩套代碼,對於支援CSS3的瀏覽器則使用animation,而不支援的則使用計時器或animate。這樣的話能夠擷取更好的使用者體驗。

  以上是看jquery.slides.js的外掛程式心得,如有更好的方法,請一定告知筆者。


js怎判斷瀏覽器是不是360類型

哥們,你無藥可救了。
360瀏覽器他有2種模式,第一是ie核心,第二是webkit核心,所有你只需判斷屬於ie幾 還是webkit就行了。
核心代碼:
navigator.userAgent
 
怎用JS判斷各瀏覽器調用各自的css檔案?

當然可以了,
在頁面裡直接這樣寫就行
<!--[if IE]><link type="text/css" rel="stylesheet" href="style_ie.css" /><![endif]-->

具體的文章如下:
條件注釋只能在windows Internet Explorer(以下簡稱IE)下使用,因此我們可以通過條件注釋來為IE添加特別的指令。

通俗點,條件注釋就是一些if判斷,但這些判斷不是在指令碼裡執行的,而是直接在html代碼裡執行的,比如:

<!--[if IE]>
這裡是正常的html代碼
<![endif]-->

1,條件注釋的基本結構和HTML的注釋(<!-- -->)是一樣的。因此IE以外的瀏覽器將會把它們看作是普通的注釋而完全忽略它們。
2,IE將會根據if條件來判斷是否如解析普通的頁面內容一樣解析條件注釋裡的內容。
3,條件注釋使用的是HTML的注釋結構,因此他們只能使用在HTML檔案裡,而不能在CSS檔案中使用。

可使用如下代碼檢測當前IE瀏覽器的版本(注意:在非IE瀏覽器中是看不到效果的)

<!--[if IE]>
<h1>您正在使用IE瀏覽器</h1>
<!--[if IE 5]>
<h2>版本 5</h2>
<![endif]-->
<!--[if IE 5.0]>
<h2>版本 5.0</h2>
<![endif]-->
<!--[if IE 5.5]>
<h2>版本 5.5</h2>
<![endif]-->
<!--[if IE 6]>
<h2>版本 6</h2>
<![endif]-->
<!--[if IE 7]>
<h2>版本 7</h2>
<![endif]-->
<![endif]-->

那如果當前的瀏覽器是IE,但版本比IE5還低,該怎麼辦呢,可以使用<!--[if ls IE 5]>,當然,根據條件注釋只能在IE5+的環境之下,所以<!--[if ls IE 5]>根本不會被執行。

lte:就是Less than or equal to的簡寫,也就是小於或等於的意思。

lt :就是Less than的簡寫,也就是小於的意思。

gte:就是Greater than or equal to的簡寫,也就是大於或等於的意思。

gt :就是Greater than的簡寫,也就是大於的意思。

! :就是不等於的意思,跟javascript裡的不等於判斷符相同

Conditional comments屬於CSS hack? 條件判斷屬於CSS hack嗎?

嚴格地說是屬於CSS hack。因為就好象其他真正的css hack一樣,它使得我們可以......餘下全文>>
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.