【问题标题】:IE11 Object doesn't support property or method 'normalize'IE11 对象不支持属性或方法“规范化”
【发布时间】:2019-01-17 19:15:20
【问题描述】:

我正在使用 string.normalize 从字符串中删除变音符号。此 javascript 在其他浏览器中运行良好,但在 IE11 中它会引发错误,提示“对象不支持属性或方法 'normalize'

function removeDiacritics(text) {
    return text.normalize('NFD').replace(/[\u0300-\u036f]/g, "");
}

【问题讨论】:

标签: javascript jquery internet-explorer diacritics normalize


【解决方案1】:

normalize 仅在 ES2015 中添加。 IE11 几乎不支持任何 ES2015,包括normalize。你需要一个 polyfill,或者不使用normalize。 (core.js project 没有针对它的 polyfill,但提到了一个名为 unorm 的模块,它可以进行规范化......)

【讨论】:

  • 我以前从未使用过 polyfill,所以我很感激一些帮助。我在项目的根文件夹中运行了“npm install unorm”,它运行成功,我看到 unorm 添加到 package.json,但 javascript 行仍然在 IE 中抛出错误。我还错过了另一个步骤吗?
  • `@Erica,安装 unorm 后,请检查解决方案资源管理器,确保项目包含 unorm 包,like this。然后,您可以将 unorm 引用添加到您的网页 like this。由于不确定您的应用程序是 Angular 应用程序还是 Web 应用程序,所以我只是在 Web 应用程序上对其进行测试。
【解决方案2】:

添加unorm polyfill 将提供对规范化的支持。

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 2018-10-20
    • 1970-01-01
    相关资源
    最近更新 更多