我正在尝试bootstrap datetime picker插件(eonasdan.github.io/bootstrap-datetimepicker),我注意到它在Firefox上工作正常但不是Chrome。 看来moment.js有点不对劲。
以下是一段缩短的代码,它具有相同的问题并导致Chrome无限循环。
但是当“ prevMonth.startOf('week')”被删除时,没有无限循环,但不会产生所需的结果。
可能有什么问题?是代码,浏览器,我的机器还是moment.js?
<!DOCTYPE html>
<html>
<head>
<script src="moment.min.js"></script>
</head>
<body>
<script>
var date = moment();
var viewDate = moment(date);
var prevMonth = moment(viewDate).subtract("month", 1);
prevMonth.startOf('week');
var nextMonth = moment(prevMonth).add("day", 42);
while (prevMonth.isBefore(nextMonth)) {
prevMonth = moment(prevMonth).add("day", 1);
}
</script>
</body>
</html>
答案 0 :(得分:1)
我在一个特定的桌面上遇到了相同的无限循环,但是没有使用Chrome浏览器,只使用JavaFx浏览器,而且仅用于将引导程序日历更改为3月。我们将问题缩小到add(“day”,1),所以只需检查prevMonth是否与调用之前和之后相同,如果是,则添加(“hour”,24)作为变通方法。 (您无法一直添加24小时,因为它将在11月跳过夏令时过渡并打印两天。