摘要:介紹一個能夠解決對象的瀏覽器兼容問題的簡單方法。方法在瀏覽器中的兼容性問題在不同瀏覽器中對于傳入的時間字符串的格式要求是不一樣的。下面在瀏覽器中輸入相同內容,查看對應結果可以發現,僅對分割日期的形式支持,對分割日期的形式并不支持。
介紹一個能夠解決Date對象的瀏覽器兼容問題的簡單方法。
new Date()、Date.parse()方法在瀏覽器中的兼容性問題Date在不同瀏覽器中對于傳入的時間字符串的格式要求是不一樣的。比如在chrome瀏覽器的控制臺中輸入以下內容,會得到相應結果:
Date.parse("2015-11-11 00:00:00") //->1447171200000 Date.parse("2015/11/11 00:00:00") //->1447171200000 new Date("2015-11-11 00:00:00") //->Wed Nov 11 2015 00:00:00 GMT+0800 (CST) new Date("2015/11/11 00:00:00") //->Wed Nov 11 2015 00:00:00 GMT+0800 (CST)
可以發現,chrome對于"-"和"/"分割日期的形式都是支持的,能夠返回正確的毫秒數或者時間格式。
下面在safari瀏覽器中輸入相同內容,查看對應結果:
> Date.parse("2015-11-11 00:00:00") < NaN = $1 > Date.parse("2015/11/11 00:00:00") < 1447171200000 = $2 > new Date("2015-11-11 00:00:00") < Invalid Date = $3 > new Date("2015/11/11 00:00:00") < Wed Nov 11 2015 00:00:00 GMT+0800 (CST) = $4
可以發現,safari僅對"/"分割日期的形式支持,對"-"分割日期的形式并不支持。
通過以上實驗,我們可以觀察出chrome和safari對于不同格式的時間字符串的支持情況。chrome同時支持"-"和"/"分割日期的時間字符串;safari不支持"-"分割日期的時間字符串。
一個簡單有效的解決方法下面是一個比較好的解決方案:
var arr = "2010-03-15 10:30:00".split(/[- / :]/), date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); console.log(date); //-> Mon Mar 15 2010 10:30:00 GMT+0000 (GMT Standard Time)
該方法為先將時間字符串用split方法進行分割拼裝為一個數組,再將每個數組的項作為傳參傳入new Date()方法,從而將不同形式的字符串轉換成有效的時間。
該方法對于所有瀏覽器生效。
博客文章地址:http://joebon.cc/date-cross-browser-safari-chrome
參考資料:http://stackoverflow.com/questions/5324178/javascript-date-parsing-on-iphone
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79471.html
摘要:出現原因在子頁面關閉時,會釋放掉在子頁面中聲明賦值的對象。所以在父頁面所有對這個對象的引用操作都會產生這個錯誤。然后在父頁面中使用變成對象。 在IE瀏覽器中出現的問題 1.不能執行已釋放 Script 的代碼 1.bug出現背景:在使用iframe標簽時,如果子頁面向父頁面傳遞在子頁面創建的對象(所有對象,包括數組,函數,正則等)時,會出現這個bug。 2.bug出現原因: 在子頁面關...
摘要:優點簡單粗暴,直接調用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現一個目的有多種途徑,俗話說,條條大路通羅馬。很多內容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發...
摘要:優點簡單粗暴,直接調用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現一個目的有多種途徑,俗話說,條條大路通羅馬。很多內容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發...
摘要:優點簡單粗暴,直接調用缺點兼容性不太好,不過的話都支持你可能不知道的前端知識點對象和的方法。下面從深層次剖析一下對于開始的兩個賦值語句,,,相當于,而顯然等于。同理可以分析第三個賦值語句 有些東西很好用,但是你未必知道;有些東西你可能用過,但是你未必知道原理。 實現一個目的有多種途徑,俗話說,條條大路通羅馬。很多內容來自平時的一些收集以及過往博客文章底下的精彩評論,收集整理拓展一波,發...
閱讀 854·2021-11-19 11:29
閱讀 3349·2021-09-26 10:15
閱讀 2855·2021-09-22 10:02
閱讀 2433·2021-09-02 15:15
閱讀 1970·2019-08-30 15:56
閱讀 2408·2019-08-30 15:54
閱讀 2903·2019-08-29 16:59
閱讀 635·2019-08-29 16:20