脚本不会 运行 在 Internet Explorer 11 (ie11) 上

Scripts won't run on internet explorer 11 (ie11)

我下面有一个脚本

var dt = new Date();
year  = dt.getFullYear();
month = (dt.getMonth() + 1).toString().padStart(2, "0");
day   = dt.getDate().toString().padStart(2, "0");

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

这是一个显示当前日期(年月日)的简单脚本。

问题是由于某种原因它无法在 Internet Explorer 11 上运行。(我启用了 javascript)。在像 mozilla 这样的浏览器上,chrome 它工作正常。也许脚本应该只针对 ie11 编写不同?

Internet Explorer 11 太旧 不支持 padStart

当您在 IE 中调试代码时查看开发人员工具时,您应该已经看到一条关于 undefined 的错误消息。你做到了 debug it,不是吗?

它是 Microsoft 提供的旧版浏览器,仅供过时的基于 Intranet 的 Web 应用程序使用。

MDN 链接到 couple of polyfills 如果您确实需要在新开发中支持它。根据经验,您应该努力从您的组织中消除它。

问题是您使用的 .padStart 方法不受 IE

支持

你应该 check can i use 在处理 IE 之前:)

作为一个选项,您可以使用 polyfill from MDN or from here. And here is EN version for the padStart

如果您必须在生产中支持 IE,我建议您检查转译器 (babel as example) 它允许您使用现代代码而不必担心旧浏览器。缺点是配置可能有点棘手。但是真的很值得。