gpt4 book ai didi

javascript - ie8 Date() 兼容性错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:59:34 26 4
gpt4 key购买 nike

我在 ie8 上遇到以下 javascript 的错误:

<script type="text/javascript">
//when html doc is all ready
$(document).ready(function () {
var socket = io.connect();
var room = 'public';
socket.emit('join', room);

socket.on('message', function (data) {
var output = '';
output += '<div class="trace-content">';
output += ' <div class="mname">' + data.name + '</div>';
output += ' <div class="mdate">' + data.date + '</div>';
output += ' <p class="mtext">' + data.message + '</p>';
output += '</div>';

$(output).prependTo('#traces');
});

$('button').click(function () {
var date = new Date().toISOString();
socket.emit('message', {
name: $('#name').val(),
message: $('#message').val(),
date: date.slice(2,10) + ' ' + date.slice(11, 19)
});
});
});
</script>

问题似乎在行中:var date = new Date().toISOString();我无法指出问题到底是什么。其他一切似乎工作正常;只需单击该按钮,然后代码就会通过。有什么想法吗?

最佳答案

IE8 不支持 .toISOString()。您可以将此代码用作垫片(来自 Mozilla):

if ( !Date.prototype.toISOString ) {         
(function() {
function pad(number) {
var r = String(number);
if ( r.length === 1 ) {
r = '0' + r;
}
return r;
}
Date.prototype.toISOString = function() {
return this.getUTCFullYear()
+ '-' + pad( this.getUTCMonth() + 1 )
+ '-' + pad( this.getUTCDate() )
+ 'T' + pad( this.getUTCHours() )
+ ':' + pad( this.getUTCMinutes() )
+ ':' + pad( this.getUTCSeconds() )
+ '.' + String( (this.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 )
+ 'Z';
};
}() );
}

关于javascript - ie8 Date() 兼容性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com