Mengapa Pembina Tarikh IE Berbeza daripada Pengendalian Tarikh Chrome dan Firefox?

Linda Hamilton
Lepaskan: 2024-10-20 13:35:30
asal
642 orang telah melayarinya

Why Does IE Date Constructor Differ from Chrome and Firefox Date Handling?

Isu Pembina Tarikh IE: NaN lwn. Fungsi dalam Pelayar Lain

Dalam projek yang melibatkan pembangunan kalendar JavaScript, percanggahan muncul dalam pengendalian tarikh antara Internet Explorer (IE) dan penyemak imbas seperti Firefox dan Chrome. Khususnya, fungsi tarikh IE menghasilkan nilai NaN (Bukan Nombor), manakala ia berfungsi dengan betul dalam penyemak imbas lain.

Setelah disiasat, menjadi jelas bahawa punca utama adalah berkaitan dengan format tarikh yang digunakan. Fungsi yang dimaksudkan, buildWeek(), bertujuan untuk menjana tarikh pengepala untuk minggu kalendar berdasarkan tarikh Isnin yang disediakan dalam format 'm, d, Y', contohnya, "02, 01, 2010". Walau bagaimanapun, dalam IE, format ini tidak diiktiraf dengan betul, membawa kepada isu NaN.

Untuk menyelesaikan percanggahan ini, pendekatan berbeza telah digunakan. Daripada bergantung pada format yang diberikan, rentetan tarikh dibahagikan kepada komponennya (tarikh dan masa) menggunakan split(" "). Selepas itu, komponen tarikh dipecahkan lagi kepada bahagian konstituennya (tahun, bulan, hari) menggunakan split("-"), dan komponen masa dibahagikan kepada bahagiannya (jam, minit, saat) menggunakan split(":") .

Satu kejadian Tarikh kemudiannya dibina menggunakan nilai yang dihuraikan ini. Kaedah ini terbukti serasi dengan semua penyemak imbas, memastikan pengendalian tarikh yang konsisten merentas IE, Firefox dan Chrome.

var dateStr = "2011-08-03 09:15:11"; //returned from mysql timestamp/datetime field
var a = dateStr.split(" ");
var d = a[0].split("-");
var t = a[1].split(":");
var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]);
Salin selepas log masuk

Dengan menggunakan pendekatan ini, ralat NaN dalam IE berjaya dihapuskan, mencapai pengendalian tarikh yang konsisten merentas pelayar yang berbeza.

Atas ialah kandungan terperinci Mengapa Pembina Tarikh IE Berbeza daripada Pengendalian Tarikh Chrome dan Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!