您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JavaScript中IE兼容出现的问题及解决方法

2025/12/5 14:45:25发布15次查看
本篇文章给大家带来的内容是关于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
截图信息
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);
4、总结
不同的浏览器是存在差异的,以下列出了所有浏览器都支持的方式。
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视频教程栏目!
以上就是javascript中ie兼容出现的问题及解决方法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product