CKEditor 在 WinJS 框架内什么都不做
CKEditor does nothing inside WinJS framework
我有一个使用 WinJS 制作的网络应用程序。这是一个 single-page 导航风格的应用程序,这意味着它有一个根视图,我在几个不同的 HTML 片段之间导航,这些片段加载到根页面上的 div 中。
无论如何,我正在尝试在其中一个页面上添加富文本编辑器 CKEditor。据我所知,只要加载主 javascript 文件并将我的 div 之一声明为 'content-editable',我应该会显示 CKEditor 弹出窗口。但是,我的 Web 应用程序上没有显示任何内容,我确信 ckeditor javascript 文件正在加载。我在 Chrome 和 Edge 中都试过了。
我已经尝试使用下面的代码手动让 CKEditor 加载可编辑的 div,但它仍然不起作用。 (questionDiv 是我 div 的 ID)
CKEDITOR.disableAutoInline = !0;
CKEDITOR.inline('questionDiv');
我什至尝试使用 textarea 加载经典编辑器,并使用 CKEditor 的 built-in 命令将 textarea 替换为其 iframe。这似乎也没有任何作用。它看起来就像一个文本区域。
有没有人有将 CKEditor 与 WinJS 应用程序集成的经验?我做错了什么?
跟进
相同的代码 运行 在 Firefox 上确实有效,但在 Chrome 和 Edge 中无效。暂时可以在运行这里看到:
编辑器应该是 'Question' 标题下的框。
似乎用于将 html 内容渲染到 div 中的 WinJS.UI.Pages.render 函数做了一些有趣的事情,它不允许 any 我试过的所见即所得编辑器(CKEditor 、TinyMCE、NicEdit)。我什至尝试过仅片段渲染器 WinJS.UI.Fragments.render,它的工作方式相同。
但是,如果您在主 html 页面(直接在浏览器中加载的页面)上使用 div,则可以让编辑器工作。
这意味着我不得不改变我的网络应用程序的工作方式。我无法再在 html 个页面之间切换。我自己的解决方法是使用 Pivot 控件并将我的所有内容放入不同的 PivotItems 中。不是我想使用的 UI,但现在可以使用了。 (我宁愿使用 SplitView)
我有一个使用 WinJS 制作的网络应用程序。这是一个 single-page 导航风格的应用程序,这意味着它有一个根视图,我在几个不同的 HTML 片段之间导航,这些片段加载到根页面上的 div 中。
无论如何,我正在尝试在其中一个页面上添加富文本编辑器 CKEditor。据我所知,只要加载主 javascript 文件并将我的 div 之一声明为 'content-editable',我应该会显示 CKEditor 弹出窗口。但是,我的 Web 应用程序上没有显示任何内容,我确信 ckeditor javascript 文件正在加载。我在 Chrome 和 Edge 中都试过了。
我已经尝试使用下面的代码手动让 CKEditor 加载可编辑的 div,但它仍然不起作用。 (questionDiv 是我 div 的 ID)
CKEDITOR.disableAutoInline = !0;
CKEDITOR.inline('questionDiv');
我什至尝试使用 textarea 加载经典编辑器,并使用 CKEditor 的 built-in 命令将 textarea 替换为其 iframe。这似乎也没有任何作用。它看起来就像一个文本区域。
有没有人有将 CKEditor 与 WinJS 应用程序集成的经验?我做错了什么?
跟进 相同的代码 运行 在 Firefox 上确实有效,但在 Chrome 和 Edge 中无效。暂时可以在运行这里看到:
编辑器应该是 'Question' 标题下的框。
似乎用于将 html 内容渲染到 div 中的 WinJS.UI.Pages.render 函数做了一些有趣的事情,它不允许 any 我试过的所见即所得编辑器(CKEditor 、TinyMCE、NicEdit)。我什至尝试过仅片段渲染器 WinJS.UI.Fragments.render,它的工作方式相同。
但是,如果您在主 html 页面(直接在浏览器中加载的页面)上使用 div,则可以让编辑器工作。
这意味着我不得不改变我的网络应用程序的工作方式。我无法再在 html 个页面之间切换。我自己的解决方法是使用 Pivot 控件并将我的所有内容放入不同的 PivotItems 中。不是我想使用的 UI,但现在可以使用了。 (我宁愿使用 SplitView)