IE8 不支持Date.now()

今天利用ueditor插件時,要產生兩個id,本來使用app

 1  link:function(scope, element, attrs, ctrl){
 2       var id = attrs.id  || 'ueditor_' + Date.now(); //id in directive, or random
 3       var width = attrs.width || '100%'; //number without unit 'px' or percentage number in attrs, default 100%
 4       var height = attrs.height || '150'; //number without unit 'px' or percentage number in sttrs, default 100%
 5       var autoHeight = !!attrs.autoHeight || false; //Default false
 6 
 7       element[0].id = id;
 8 
 9       var ue= UE.getEditor(id, { 
10         initialFrameWidth: '100%',
11         initialFrameHeight: height,
12         autoHeightEnabled: autoHeight
13       });
14 ...

 

Date.now()

返回1970 年 1 月 1日午夜與當前日期和時間之間的毫秒數。dom

 

如下是微軟的描述:ide

在早於 Internet Explorer 9 的安裝版本中不受支持。 可是,在如下文檔模式中受到支持:Quirks、Internet Explorer 6 標準、Internet Explorer 7 標準、Internet Explorer 8 標準、Internet Explorer 9 標準和 Internet Explorer 10 標準。 在 Windows 應用商店 應用程序中也受支持。測試

https://msdn.microsoft.com/library/ff679974.aspx ui

可是經測試在IE8,標準模式下並未支持!因此需採用其餘方法:spa

getTime 方法返回 1970 年 1 月 1日與指定日期之間的毫秒數。插件

使用方法:dateObj.getTime()   3d

返回 1970 年 1 月 1 日午夜與 Date 對象中的時間值之間的毫秒數。日期範圍在 1970 年 1 月 1 日的午夜先後都有大約 285,616 年。負數指示 1970 年以前的日期。code

 var id = attrs.id  || 'ueditor_' + new Date().getTime(); //id in directive, or random

 

 

例子:對象

 1 var minute = 1000 * 60;
 2 var hour = minute * 60;
 3 var day = hour * 24;
 4 
 5 date = new Date("1/1/2001");
 6 var time = date.getTime();
 7 
 8 document.write(Math.round(time / day) + " days from 1/1/1970 to 1/1/2001");
 9 
10 // Output: 11323 days from 1/1/1970 to 1/1/2001

 

參考:https://msdn.microsoft.com/zh-cn/library/7hcawkw2.aspx

相關文章
相關標籤/搜索