在chrome上的moment.js无限循环

时间:2014-03-28 17:32:42

标签: google-chrome momentjs

我正在尝试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>

1 个答案:

答案 0 :(得分:1)

我在一个特定的桌面上遇到了相同的无限循环,但是没有使用Chrome浏览器,只使用JavaFx浏览器,而且仅用于将引导程序日历更改为3月。我们将问题缩小到add(“day”,1),所以只需检查prevMonth是否与调用之前和之后相同,如果是,则添加(“hour”,24)作为变通方法。 (您无法一直添加24小时,因为它将在11月跳过夏令时过渡并打印两天。