Angular-trix 在 IE 10 中不工作

Angular-trix not working in IE 10

我正在使用 Angular-trix 富文本编辑器,它在所有浏览器甚至 IE 11 中都可以正常工作,但在 IE10 或更少的浏览器中无法正常工作。

一直显示跟随错误

Unable to set property 'trixMutable' of undefined or null reference

HTML

<trix-editor ng-model-options="{updateOn:'blur'}" spellcheck="false" class="trix-content" ng-model="trix" angular-trix trix-initialize="trixInitialize(e, editor);" trix-change="trixChange(e, editor);" trix-selection-change="trixSelectionChange(e, editor);" trix-focus="trixFocus(e, editor);" trix-blur="trixBlur(e, editor);" trix-file-accept="trixFileAccept(e, editor);" trix-attachment-add="trixAttachmentAdd(e, editor);" trix-attachment-remove="trixAttachmentRemove(e, editor);" placeholder="Write something.."></trix-editor>

我不知道出了什么问题。

我找到了这个 ,但不幸的是我的情况不起作用。

Plunker Link

我在 github 上发布了同样的问题,但没有得到任何回复。

注意:请在IE10以下打开上面的plunkr。

从他们的 Github 回购中我了解到他们不支持 IE10 但我尝试让它工作:

第 1 步:尝试将您的 trix.js 更新为 0.10.1

这是我用的CDN

第 2 步:当您在 IE 10 中尝试 运行 这段代码时,您将得到一个新的错误

Unable to set property 'trixSelection' of undefined or null reference

所以从 trix Issue list if you can add the dataset polyfill

那么以下 plunkner 将在 IE10

中工作

我通过将 trix 更改为最新版本 0.10.1 来修复您的错误。添加 dataset.js 后,它在 IE 中就像一个魅力。 dataset.js 将通过在 IE 中添加缺少的核心依赖项来避免错误。

Unable to set property 'trixSelection' of undefined or null reference

完整固定码

<!DOCTYPE html>
<html ng-app="trixDemo">

<head>
  <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/trix/0.10.1/trix.css">
  <link rel="stylesheet" href="style.css" />

  <script src="polyfills.js"></script>
  <script data-require="angularjs@1.4.4" data-semver="1.4.4" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/trix/0.10.1/trix.js"></script>
  <script src="angular-trix.js"></script> 
  <script src="democtrl.js"></script>
</head>

<body ng-controller="trixDemoCtrl">
  <trix-editor ng-model-options="{ updateOn: 'blur' }" 
               spellcheck="false" class="trix-content" 
               ng-model="trix" 
               angular-trix 
               trix-initialize="trixInitialize(e, editor);" 
               trix-change="trixChange(e, editor);" 
               trix-selection-change="trixSelectionChange(e, editor);" 
               trix-focus="trixFocus(e, editor);" 
               trix-blur="trixBlur(e, editor);" 
               trix-file-accept="trixFileAccept(e, editor);" 
               trix-attachment-add="trixAttachmentAdd(e, editor);" 
               trix-attachment-remove="trixAttachmentRemove(e, editor);" 
               placeholder="Write something.."></trix-editor>
</body>
</html>

>> Demo Plunkr

如果 trix.js 没有什么特别之处,我会建议切换到 textAngular,这似乎更可靠。我希望此修复程序将帮助您将 trix.js 实施到您的应用程序中。