123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <!DOCTYPE html>
- <!--
- Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- -->
- <html>
- <head>
- <meta charset="utf-8">
- <title>API Usage — CKEditor Sample</title>
- <script src="../../ckeditor.js"></script>
- <link href="sample.css" rel="stylesheet">
- <script>
- // The instanceReady event is fired, when an instance of CKEditor has finished
- // its initialization.
- CKEDITOR.on( 'instanceReady', function( ev ) {
- // Show the editor name and description in the browser status bar.
- document.getElementById( 'eMessage' ).innerHTML = 'Instance <code>' + ev.editor.name + '<\/code> loaded.';
- // Show this sample buttons.
- document.getElementById( 'eButtons' ).style.display = 'block';
- });
- function InsertHTML() {
- // Get the editor instance that we 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 we 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 we want to interact with.
- var editor = CKEDITOR.instances.editor1;
- var value = document.getElementById( 'htmlArea' ).value;
- // Set editor contents (replace current contents).
- // 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 contents
- // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-getData
- alert( editor.getData() );
- }
- function ExecuteCommand( commandName ) {
- // Get the editor instance that we 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 we want to interact with.
- var editor = CKEDITOR.instances.editor1;
- // Checks whether the current editor contents present changes when compared
- // to the contents 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 we want to interact with.
- var editor = CKEDITOR.instances.editor1;
- // Resets the "dirty state" of the editor (see CheckDirty())
- // https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-resetDirty
- editor.resetDirty();
- alert( 'The "IsDirty" status has been reset' );
- }
- function Focus() {
- CKEDITOR.instances.editor1.focus();
- }
- function onFocus() {
- document.getElementById( 'eMessage' ).innerHTML = '<b>' + this.name + ' is focused </b>';
- }
- function onBlur() {
- document.getElementById( 'eMessage' ).innerHTML = this.name + ' lost focus';
- }
- </script>
- </head>
- <body>
- <h1 class="samples">
- <a href="index.html">CKEditor Samples</a> » Using CKEditor JavaScript API
- </h1>
- <div class="warning deprecated">
- This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/api.html">brand new version in CKEditor SDK</a>.
- </div>
- <div class="description">
- <p>
- This sample shows how to use the
- <a class="samples" href="https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html">CKEditor JavaScript API</a>
- to interact with the editor at runtime.
- </p>
- <p>
- For details on how to create this setup check the source code of this sample page.
- </p>
- </div>
- <!-- This <div> holds alert messages to be display in the sample page. -->
- <div id="alerts">
- <noscript>
- <p>
- <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
- support, like yours, you should still see the contents (HTML data) and you should
- be able to edit it normally, without a rich editor interface.
- </p>
- </noscript>
- </div>
- <form action="../../../samples/sample_posteddata.php" method="post">
- <textarea cols="100" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p></textarea>
- <script>
- // Replace the <textarea id="editor1"> with an CKEditor instance.
- CKEDITOR.replace( 'editor1', {
- on: {
- focus: onFocus,
- blur: onBlur,
- // Check for availability of corresponding plugins.
- pluginsLoaded: function( evt ) {
- var doc = CKEDITOR.document, ed = evt.editor;
- if ( !ed.getCommand( 'bold' ) )
- doc.getById( 'exec-bold' ).hide();
- if ( !ed.getCommand( 'link' ) )
- doc.getById( 'exec-link' ).hide();
- }
- }
- });
- </script>
- <p id="eMessage">
- </p>
- <div id="eButtons" style="display: none">
- <input id="exec-bold" onclick="ExecuteCommand('bold');" type="button" value="Execute "bold" Command">
- <input id="exec-link" onclick="ExecuteCommand('link');" type="button" value="Execute "link" Command">
- <input onclick="Focus();" type="button" value="Focus">
- <br><br>
- <input onclick="InsertHTML();" type="button" value="Insert HTML">
- <input onclick="SetContents();" type="button" value="Set Editor Contents">
- <input onclick="GetContents();" type="button" value="Get Editor Contents (HTML)">
- <br>
- <textarea cols="100" id="htmlArea" rows="3"><h2>Test</h2><p>This is some <a href="/Test1.html">sample</a> HTML code.</p></textarea>
- <br>
- <br>
- <input onclick="InsertText();" type="button" value="Insert Text">
- <br>
- <textarea cols="100" id="txtArea" rows="3"> First line with some leading whitespaces.
- Second line of text preceded by two line breaks.</textarea>
- <br>
- <br>
- <input onclick="CheckDirty();" type="button" value="checkDirty()">
- <input onclick="ResetDirty();" type="button" value="resetDirty()">
- </div>
- </form>
- <div id="footer">
- <hr>
- <p>
- CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a>
- </p>
- <p id="copy">
- Copyright © 2003-2019, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico
- Knabben. All rights reserved.
- </p>
- </div>
- </body>
- </html>
|