有沒有什麼辦法來檢查瀏覽器是否支持「HTML5歷史API」使用JavaScript。查看HTML5歷史API支持的瀏覽器兼容性?
我一定要檢查所有的瀏覽器及其版本的條件一長串if語句。 或者乾脆喜歡用「如果」聲明是不夠??? ...
有沒有什麼辦法來檢查瀏覽器是否支持「HTML5歷史API」使用JavaScript。查看HTML5歷史API支持的瀏覽器兼容性?
我一定要檢查所有的瀏覽器及其版本的條件一長串if語句。 或者乾脆喜歡用「如果」聲明是不夠??? ...
檢查,爲全球歷史對象的pushState()
方法的存在應該是足夠的。
function supports_history_api() {
return !!(window.history && history.pushState);
}
對於更一般的HTML 5特性檢測我想看看近代化
http://diveintohtml5.info/detect.html#modernizr
這將從每個測試的具體凌亂隔離你的代碼,使代碼更易讀,少出錯俯臥。隨着網頁上的近代化腳本,你只是做:
if (Modernizr.history) {
// history management works!
} else {
// no history support :(
// fall back to a scripted solution like History.js
}
日Thnx朋友... :) – 2012-02-26 07:00:40
檢查history.pushState
和history.replaceState
對象的存在應該是足夠的,因爲它通常與一般的特徵檢測足夠的檢查功能的對象。
您可以查看天氣或不是一個函數註冊:
if (typeof history.pushState != 'undefined') {
//Enabled
}
然後,只需更換//不管你希望做啓用如果它被支持。
您可以使用canisuse.js腳本來檢測,如果你的瀏覽器支持的歷史或不
caniuse.history()
檢查這個帖子:http://stackoverflow.com/questions/4708358/detect-whether-html5-history-supported-或-不 – mariogl 2012-02-25 17:37:27
[Modernizr的](http://modernizr.com)具有 「歷史」 測試。 – Pointy 2012-02-25 17:38:12
參見[CanIUse(http://caniuse.com) – Pointy 2012-02-25 17:39:56