javascript中日期函數new Date的瀏覽器兼容性問題
同一種語言javascript , 在不同的瀏覽器中,存在語言兼容性問題,本質上是由于不同的瀏覽器是支持的語言標準和實現上各有差異 。本文將基于new Date來創建Date對象來分析這個問題 。
1. 問題的提出,開始時間和結束時間空間無法正確的傳遞值
在頁面中,我們使用了一個時間上的組件來開發時間選擇框,但是發現在Firefox下是無法正常工作的 , 在Chrome下是可以正常運行的 。問題出在哪里呢?
2. 問題分析
【javascript中日期函數new Date的瀏覽器兼容性問題】結果分析發現是由于如下代碼產生的問題:

問題就在于 new Date(time1)這個構造函數無法正確的生成Date對象,其值為NaN. 怪哉 , 問題在哪里呢?
3. 各個瀏覽器上的表現
在IE下的執行情況:

在Firefox下的執行情況:

在Chrome下的執行情況:

通過以上的分析,可以得知,這個javascript的腳本在Chrome下是可以正確執行的 , 但是在其他瀏覽器下報出錯誤 。
4. 正確的做法
以下列出正確的做法:

主要的變化是對默認的日期格式進行了轉換,基于'/'格式的日期字符串 , 才是被各個瀏覽器所廣泛支持的,‘-'連接的日期字符串,則是只在chrome下可以正常工作 。
5. 知識點總結
'2015-09-05'是無法被各個瀏覽器中,使用new Date(str)來正確生成日期對象的 。正確的用法是'2015/09/06'.
相關經驗推薦
- win10系統中Edge/Chrome/火狐/Safari/Opera和IE哪個更好用?
- qq中的網頁連接怎么取消使用qq瀏覽器打開?
- 純JavaScript基于notie.js插件實現消息提示特效
- JavaScript中解決多瀏覽器兼容性23個問題的快速解決方法
- Win10系統下如何把IE收藏夾導入到Edge瀏覽器中?IE收藏夾無法導入Edge的解決方法
- Win10 Edge瀏覽器中不常用的四個隱藏設置的使用方法
- 水滴寶寶APP中怎么修改密碼 具體操作流程
- Win10 TH2正式版中的Edge瀏覽器只有簽名程序才能安裝
- IE和Firefox之間在JavaScript語法上的差異
- JavaScript獲取瀏覽器信息的方法
