You need to enable JavaScript to run this app. 显示当前日期的JavaScript脚本在IE11无法运行如何适配
优惠活动
大模型
产品
解决方案
定价
更多

显示当前日期的JavaScript脚本在IE11无法运行如何适配

IE11下日期格式化脚本失效的解决方案

你的代码在IE11中无法运行的核心原因是 String.prototype.padStart() 属于ES2017标准新增的API,IE11的JavaScript引擎完全不支持该方法,执行到对应代码时会抛出未定义错误。

修复方案

方案1:改写补零逻辑(推荐,轻量无额外依赖)

直接使用原生判断实现补零效果,兼容所有旧浏览器,修改后的代码如下:

var dt = new Date();
var year  = dt.getFullYear();
var month = dt.getMonth() + 1;
// 自定义补零逻辑替代padStart
month = month < 10 ? '0' + month : month.toString();
var day = dt.getDate();
day = day < 10 ? '0' + day : day.toString();

document.getElementById("date").innerHTML = year + "." + month + "." + day;

方案2:添加padStart的polyfill

如果项目中多处使用了padStart方法,不想逐一修改原有代码,可以在所有业务代码执行前注入以下兼容代码,之后原有代码无需调整即可在IE11下运行:

if (!String.prototype.padStart) {
  String.prototype.padStart = function(targetLength, padString) {
    targetLength = targetLength >> 0;
    padString = typeof padString !== 'undefined' ? String(padString) : ' ';
    if (this.length >= targetLength) {
      return String(this);
    }
    targetLength = targetLength - this.length;
    while (padString.length < targetLength) {
      padString += padString;
    }
    return padString.slice(0, targetLength) + String(this);
  };
}

内容的提问来源于stack exchange,提问作者Ralf Strauss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 05:06:02