2011-10-27 34 views
2

你在HTML5知道我們已經得到了轉換日期類型(HTML5)的JavaScript

<input type="date" name="birthday" />

,但它不會在所有的瀏覽器都支持。 我需要在頁面中使用它,如果客戶端瀏覽器不支持它,通過JavaScript而不是它來做一些日曆。

我該如何理解瀏覽器是否支持它? (我需要在客戶端執行而不是通過代理客戶端在服務器端腳本通過PHP)

回答

2

測試input type=date是否支持並不難。創建一個容器,並將innerHTML設置爲<input type="date">。然後,檢查元素的type屬性是否爲date(忽略重要屬性的未識別值)。

先前描述的方法的實現如下所示。這是一個獨立的功能,不需要任何插件或庫。 小提琴:http://jsfiddle.net/aWYbZ/

function isInputDateSupported(){ 
    var d = document.createElement("div"); 
    d.innerHTML = '<input type="date">' 
    return d.firstChild.type == "date"; 
} 
+2

+1但是,爲什麼不簡單地創建輸入元素? http://jsfiddle.net/pimvdb/aWYbZ/1/ – pimvdb

2

Modernizr library是爲了幫助您檢測哪些瀏覽器支持HTML5功能。

利用HTML5和CSS3的新功能可能意味着 犧牲了對舊版瀏覽器體驗的控制。 Modernizr 2 是您的最佳網站和應用程序 無論瀏覽器或設備訪問您的訪問者 使用完全正確的起點。

+0

該死的,你打敗了我37秒。 – ceejayoz

2

Modernizr JavaScript庫功能檢測,所以你可以很容易地適應不同的瀏覽器支持水平。他們也有鏈接到「polyfills」,透明地將特定的HTML5/CSS3功能移植到舊瀏覽器。