<!DOCTYPE html>  
 | 
<!--  
 | 
Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.  
 | 
For licensing, see LICENSE.md or http://ckeditor.com/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.  
 | 
        // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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.  
 | 
        // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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).  
 | 
    // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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  
 | 
    // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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.  
 | 
        // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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  
 | 
    // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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())  
 | 
    // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-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="http://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="http://docs.ckeditor.com/#!/api/CKEDITOR.editor">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="http://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="http://ckeditor.com/">http://ckeditor.com</a>  
 | 
        </p>  
 | 
        <p id="copy">  
 | 
            Copyright © 2003-2016, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico  
 | 
            Knabben. All rights reserved.  
 | 
        </p>  
 | 
    </div>  
 | 
</body>  
 | 
</html>  
 |