溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決JavaScript中IE兼容出現的問題

發布時間:2020-08-11 15:41:30 來源:億速云 閱讀:225 作者:小新 欄目:web開發

這篇文章主要介紹了如何解決JavaScript中IE兼容出現的問題,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

在IE瀏覽器中出現的問題

1、不能執行已釋放 Script 的代碼

1、bug出現背景:

在使用iframe標簽時,如果子頁面向父頁面傳遞在子頁面創建的對象(所有對象,包括數組,函數,正則等)時,會出現這個bug。

2、bug出現原因:

在子頁面關閉時,會釋放掉在子頁面中聲明賦值的對象。所以在父頁面所有對這個對象的引用操作都會產生這個JS錯誤。

3、解決方法有2種:

第一,在父頁面把所有對象都建好,在子頁面對這個對象進行字符串賦值。
第二,如果子頁面產生的對象數量是不定的,使用JSON.stringfy()把要回傳的對象變成字符串。然后在父頁面中使用JSON.parse()變成對象。

IE、firefox瀏覽器下JS的new Date()的值為Invalid Date、NaN-NaN

截圖信息

如何解決JavaScript中IE兼容出現的問題

1、問題出現背景:
在IE瀏覽器中,使用new Date("xxxx")方法,將一串日期字符串轉換為具體的Date格式的時,會出現這個問題。如:
new Date("2019-03-21 10:41:33") //[date] Invalid Date[date] Invalid Date
但是這個方法卻在谷歌瀏覽器上可以返回正確的結果。

2、問題出現原因:

字符串的格式不被IE瀏覽器識別,而導致的

3、解決方法:

new Date("2019/03/21 10:41:33") //[date] Thu Mar 21 2019 10:41:33 GMT+0800 (中國標準時間)[date] Thu Mar 21 2019 10:41:33 GMT+0800 (中國標準時間)

備注:在使用的時候,我們可以通過字符串轉換的方式,將日期字符串格式轉換為瀏覽器支持的格式,在使用new Date()。

var date = '2019-03-21 10:41:33';
date = date.replace(new RegExp(/-/gm) ,"/");   //將所有的'-'轉為'/'即可
Date d=new Date(date);

不同的瀏覽器是存在差異的,以下列出了所有瀏覽器都支持的方式。

var d = new Date(2019, 01, 07); // yyyy, mm-1, dd  
 var d = new Date(2019, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
 var d = new Date("02/07/2019"); // "mm/dd/yyyy"  
var d = new Date("02/07/2019 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
var d = new Date(1297076700000); // milliseconds  
var d = new Date("Mon Feb 07 2019 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC

感謝你能夠認真閱讀完這篇文章,希望小編分享如何解決JavaScript中IE兼容出現的問題內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女