• Using CKEditor API


    https://ckeditor.com/docs/ckeditor4/latest/examples/api.html

    Related Features

    Get Sample Source Code

    • Using CKEditor API
      <!doctype html>
      <html lang="en">
      
      <head>
        <meta charset="utf-8">
        <meta name="robots" content="noindex, nofollow">
        <title>Using CKEditor API</title>
        <script src="https://cdn.ckeditor.com/4.15.1/standard-all/ckeditor.js"></script>
      </head>
      
      <body>
        <textarea cols="100" id="editor1" name="editor1" rows="10">
      &lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;.
      You are using &lt;a href=&quot;https://ckeditor.com/&quot;&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;
      </textarea>
        <script>
          // Helper function to display messages below CKEditor 4.
          function ShowMessage(msg) {
            document.getElementById('eMessage').innerHTML = msg;
          }
      
          function InsertHTML() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            var value = document.getElementById('htmlArea').value;
      
            // Check the active editing mode.
            if (editor.mode == 'wysiwyg') {
              // Insert HTML code.
              // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertHtml
              editor.insertHtml(value);
            } else
              alert('You must be in WYSIWYG mode!');
          }
      
          function InsertText() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            var value = document.getElementById('txtArea').value;
      
            // Check the active editing mode.
            if (editor.mode == 'wysiwyg') {
              // Insert as plain text.
              // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-insertText
              editor.insertText(value);
            } else
              alert('You must be in WYSIWYG mode!');
          }
      
          function SetContents() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            var value = document.getElementById('htmlArea').value;
      
            // Set editor content (replace current content).
            // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-setData
            editor.setData(value);
          }
      
          function GetContents() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
      
            // Get editor content.
            // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getData
            alert(editor.getData());
          }
      
          function ExecuteCommand(commandName) {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
      
            // Check the active editing mode.
            if (editor.mode == 'wysiwyg') {
              // Execute the command.
              // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-execCommand
              editor.execCommand(commandName);
            } else
              alert('You must be in WYSIWYG mode!');
          }
      
          function CheckDirty() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            // Checks whether the current editor content contains changes when compared
            // to the content loaded into the editor at startup.
            // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-checkDirty
            alert(editor.checkDirty());
          }
      
          function ResetDirty() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            // Resets the "dirty state" of the editor.
            // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-resetDirty
            editor.resetDirty();
            alert('The "IsDirty" status was reset.');
          }
      
          function Focus() {
            // Get the editor instance that you want to interact with.
            var editor = CKEDITOR.instances.editor1;
            // Focuses the editor.
            // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-focus
            editor.focus();
          }
        </script>
        <script>
          // Attaching event listeners to the global CKEDITOR object.
          // The instanceReady event is fired when an instance of CKEditor 4 has finished its initialization.
          CKEDITOR.on('instanceReady', function(ev) {
            ShowMessage('Editor instance <em>' + ev.editor.name + '</em> was loaded.');
      
            // The editor is ready, so sample buttons can be displayed.
            document.getElementById('eButtons').style.display = 'block';
          });
      
          // Replace the <textarea id="editor1"> with a CKEditor 4 instance.
          // A reference to the editor object is returned by CKEDITOR.replace() allowing you to work with editor instances.
          var editor = CKEDITOR.replace('editor1', {
            height: 150
          });
      
          // Attaching event listeners to CKEditor 4 instances.
          // Refer to https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html for a list of all available events.
          editor.on('focus', function(evt) {
            ShowMessage('Editor instance <em>' + this.name + '</em> <b>is focused</b>.');
          });
          editor.on('blur', function(evt) {
            ShowMessage('Editor instance <em>' + this.name + '</em> <b>lost focus</b>.');
          });
          // Helper variable to count the number of detected changes in CKEditor 4.
          var changesNum = 0;
          editor.on('change', function(evt) {
            ShowMessage('The number of changes in <em>' + this.name + '</em>: <b>' + ++changesNum + '</b>.');
          });
        </script>
        <p id="eMessage"></p>
        <div id="eButtons" style="display: none">
          <p>
            <input onclick="InsertHTML();" type="button" value="Insert HTML">
            <input onclick="SetContents();" type="button" value="Set Editor content">
            <input onclick="GetContents();" type="button" value="Get Editor Content (HTML)">
          </p>
      
          <textarea cols="100" id="htmlArea" rows="3">&lt;h2&gt;Test&lt;/h2&gt;&lt;p&gt;This is some &lt;a href=&quot;/Test1.html&quot;&gt;sample&lt;/a&gt; HTML code.&lt;/p&gt;</textarea>
          <p>
            <input onclick="InsertText();" type="button" value="Insert Text">
          </p>
          <textarea cols="100" id="txtArea" rows="3">   First line with some leading whitespaces.
      
      Second line of text preceded by two line breaks.</textarea>
          <p>
            <input id="exec-bold" onclick="ExecuteCommand(&apos;bold&apos;);" type="button" value="Execute the &quot;Bold&quot; Command">
            <input id="exec-link" onclick="ExecuteCommand(&apos;link&apos;);" type="button" value="Execute the &quot;Link&quot; Command">
            <input onclick="Focus();" type="button" value="Focus">
            <input onclick="CheckDirty();" type="button" value="checkDirty()">
            <input onclick="ResetDirty();" type="button" value="resetDirty()">
          </p>
        </div>
      </body>
      
      </html>
  • 相关阅读:
    NHibernate 3 查询APIQueryOver
    Fluent NHibernate
    SQLite3创建数据库的方法
    Angularjs中provider,factory和service的不同
    windows 8 修改窗口颜色为淡绿色
    Resharper6.0如何启用原VS的中文智能提示
    Sublime Text 3 绝对神器
    华山论剑,博客园武林人士
    洛谷 P2152 [SDOI2009]SuperGCD
    洛谷 P1282 多米诺骨牌
  • 原文地址:https://www.cnblogs.com/linus-tan/p/14145991.html
Copyright © 2020-2023  润新知