开发者

Replace script if viewed in IE9?

开发者 https://www.devze.com 2023-02-02 08:44 出处:网络
How easy would it be to run a different javascript depending on the user browser? For example if someone visits the site 开发者_运维技巧with IE9 I would like it to run a different script to the one i

How easy would it be to run a different javascript depending on the user browser?

For example if someone visits the site 开发者_运维技巧with IE9 I would like it to run a different script to the one it would run normally for Chrome users.


You can use conditional comments for this:

<!--[if lte IE 6]>
    <script>alert('lte stands for less than or equal to')</script>
<![endif]-->

<!--[if lt IE 7]>
    <script>alert('lt stands for less than')</script>
<![endif]-->

<!--[if gte IE 9]>
    <script>alert('gte stands for greater than or equal to')</script>
<![endif]-->

etc.


There are various browser detection techniques. You can try detecting the browser (by yourself by examining the navigator.userAgent property) or you can use methods available in almost every Javascript framework. For example:

  1. jQuery.browser
  2. Detecting browser with Prototype JS

Alternatively you can use conditional comments but they are only recognized by IE.

-- Pavel


You can use conditional comments in the HTML.

<!--[if IE]>
   <script src="ie_only.js"></script>
<![endif]-->

This can also be used for external stylesheets

more info on this post http://css-tricks.com/how-to-create-an-ie-only-stylesheet/


May i recommend feature detection instead.

if (someIEAPI) {
    // ie code
} else if (someChromeAPI) {
    // chrome code
}

This code is more robust and if firefox or opera supports one of the API's you don't have to check for their browsers anyway.

Besides browsers have a habit of lying to you and pretending to be whatever is hip.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号