我們先把話說在前頭, Javascript的所有函數並不適用在所有的瀏覽器, 這個大家都贊同吧?
所以你一定會跟我一樣想先擷取使用者的瀏覽器版本, 看看它是用IE, MOZILLA還是Opera等等的, 但這樣的方法真的好用嗎? 老實說這是相當難維護的, 因為瀏覽器會一直更新, 如果你都用IF ELSE來判斷它的版本應該會要一直更新吧, 而且你又要怎麼判斷你的使用者會不會比你更快更新它的瀏覽器呢?
舊的方法如下:
javascript:alert(navigator.userAgent);
如果你使用IE7, 它會回傳給你: Mozilla 4.0/ …..
這樣的方法真的不是很好, 在這裡有個不錯的方式來判斷:
if (typeof featureName != “undefined”) {
// 程式碼
}
舉例如下:
if (typeof document.getElementById != “undefined”) {
alert(“getelembyid is supported”);} else {
alert(“no getelembyid support”);
}
我們要判斷瀏覽器是否支援getElementById 就可以直接用typeof document.xx != “undefined” 來判斷 如果使用者不支援這個函數你就可以再另外想辦法. 另外一種寫法如下:
var getElem = (typeof document.getElementById == “function”) ? true : false;
if (getElem) {
// 我們知道GetElementbyId是支援的,
// 所以我們就可以用它.
}
這樣是不是比較實際且容易維護呢?
發佈留言