返回介绍

Setup inline editing mode

发布于 2019-05-06 06:50:20 字数 3814 浏览 882 评论 0 收藏 0

TinyMCE has three main integration modes: a classic form-based mode, an inline editing mode, and a distraction-free mode.

The inline editing mode is useful when creating user experiences where the editing view of the page can be merged with the reading view of the page. This creates a seamless editing experience and true WYSIWYG behavior.

When in inline editing mode the editor does not replace the selected element with its iframe, but instead edits the element’s content in place instead. For a sample view of this mode, visit the Inline Editor example page.

Forms-based editing vs. inline editing

Most common TinyMCE integrations use the editor in its classic form-based mode. In this integration mode, the editor usage is as a form field that is filled out to provide content. The editor is always visible as part of the form to be edited.

Inline editing mode blends the editable view with a readable view of the page. Elements are replaced inline with an editor once clicked rather than the editor always being visible.

Most significantly, when using inline editing TinyMCE is not isolated from the page by being encapsulated within an iframe. This has the advantage of ensuring that the content within the editor inherits the surrounding page’s styles when presenting the content.

Since the editor is not sandboxed in an iframe in inline editing mode, CSS styles for the editor’s content are inherited from the page that the editor is on. This feature allows editing content exactly as it appears within the context of the page, providing a true WYSIWYG editing experience.

Inline editing and complex stylesheets

When using TinyMCE in the inline mode it inherits the CSS stylesheet from the page it is embedded in.

While this is advantageous in providing a true WYSIWYG view of the content, it can result in user confusion when working with complex CSS. This is because the site’s CSS is now being applied directly to the editor and may result in behavior that the user doesn’t expect.

If the editor is used in inline mode, care should be taken when using styling that depends on structures within the editor. For example, if there’s a class like this:

h1 strong {
  color: orange;
}

This would make the phrase “bold text” bold and orange in the content:

<h1>This text is <strong>bold text</strong> in a heading</h1>

If the user changed the heading to a paragraph or a different heading level, then the text color of the bold text would, unexpectedly, change for the user. While this is entirely correct behavior according to the stylesheet, it is entirely unexpected from the user’s perspective.

Enabling inline editing mode

Enabling inline editing mode is simple. Setting the inline configuration property to true is all that’s needed, in combination with a normal selector. It is important to keep in mind that, unlike the classic form-based mode, inline only works with content that is within a block element (e.g. div, h1). An example of using inline editing mode with a div is as follows:

<!DOCTYPE html>
<html>
<head>
  <script src="https://cloud.tinymce.com/5/tinymce.min.js"></script>
  <script type="text/javascript">
  tinymce.init({
    selector: '#myeditablediv',
    inline: true
  });
  </script>
</head>

<body>
  <h1>TinyMCE Inline Editing Mode Guide</h1>
  <form method="post">
    <div id="myeditablediv">Click here to edit!</div>
  </form>
</body>
</html>
Next TinyMCE distraction-free editing mode

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文