我的应用程序前端是用angular js 1.4.14构建的,我只在IE-11中遇到了以下错误:
对象不支持属性或方法“parseInt”
以下是我的Html:
<div class="form-group">
<label class="col-sm-2 control-label">Pickup time <span ng-show="pickupTimeIsRange()">range</span>:</label>
<div class="row col-md-10">
<div class="col-md-3">
<input placeholder="{{ pickupTimeIsRange() ? 'Start time' : 'Time' }}" class="form-control" ui-timepicker ng-model="info.pickup_time_start">
</div>
<div class="col-md-3" ng-show="pickupTimeIsRange()">
<input placeholder="End time" class="col-md-4 form-control" ui-timepicker ng-model="info.pickup_time_end">
</div>
</div>
</div>这是我的js代码:
info.pickup_time_start = getTime('start');
info.pickup_time_end = pickupTimeIsRange() ? getTime('end') : null;
function getTime(time) {
return !_.has(info.pickup_time, time) || _.isEmpty(info.pickup_time[time])
? null
: moment(info.pickup_time[time], 'HH:mm');
}现在,这里出了什么问题?我的代码是在应用程序运行时编译的,所以上面的错误发生在lib.js文件中,这是一个已编译的js代码文件,我不知道从哪里实际使用了Number.parseInt。有没有办法强制使用全局parseInt?或者有什么方法可以确定Number.parseInt到底在哪里使用呢?我非常清楚,当上面的代码运行时会弹出这个错误,比如当我尝试选择一个时间时,执行ui-timepicker时。因此,ui-timepicker在代码中的某个地方使用了Number.parseInt,但我无法确定具体位置。
编辑
顺便说一句,它在我的本地使用相同的浏览器、相同的代码和相同的操作系统时运行得很好。这是非常奇怪的,在现场的实例,它不工作!为什么会这样呢?
发布于 2020-11-19 11:56:10
好吧,我说到问题上了。在我的例子中,jquery timepicker是有问题的。我把它更新到了最新的版本,问题已经消失了。
发布于 2020-11-26 05:45:46
您可以在第841行,https://github.com/wvega/timepicker/blob/master/jquery.timepicker.js上检查是否使用了https://github.com/wvega/timepicker/blob/master/jquery.timepicker.js
如果要保留旧版本,可以更新库并将其保存到源文件列表中。
https://stackoverflow.com/questions/64798982
复制相似问题