|
1 <!DOCTYPE html> |
|
2 <!-- |
|
3 Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. |
|
4 For licensing, see LICENSE.md or http://ckeditor.com/license |
|
5 --> |
|
6 <html> |
|
7 <head> |
|
8 <meta charset="utf-8"> |
|
9 <title>API Usage — CKEditor Sample</title> |
|
10 <script src="../../ckeditor.js"></script> |
|
11 <link href="sample.css" rel="stylesheet"> |
|
12 <script> |
|
13 |
|
14 // The instanceReady event is fired, when an instance of CKEditor has finished |
|
15 // its initialization. |
|
16 CKEDITOR.on( 'instanceReady', function( ev ) { |
|
17 // Show the editor name and description in the browser status bar. |
|
18 document.getElementById( 'eMessage' ).innerHTML = 'Instance <code>' + ev.editor.name + '<\/code> loaded.'; |
|
19 |
|
20 // Show this sample buttons. |
|
21 document.getElementById( 'eButtons' ).style.display = 'block'; |
|
22 }); |
|
23 |
|
24 function InsertHTML() { |
|
25 // Get the editor instance that we want to interact with. |
|
26 var editor = CKEDITOR.instances.editor1; |
|
27 var value = document.getElementById( 'htmlArea' ).value; |
|
28 |
|
29 // Check the active editing mode. |
|
30 if ( editor.mode == 'wysiwyg' ) |
|
31 { |
|
32 // Insert HTML code. |
|
33 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml |
|
34 editor.insertHtml( value ); |
|
35 } |
|
36 else |
|
37 alert( 'You must be in WYSIWYG mode!' ); |
|
38 } |
|
39 |
|
40 function InsertText() { |
|
41 // Get the editor instance that we want to interact with. |
|
42 var editor = CKEDITOR.instances.editor1; |
|
43 var value = document.getElementById( 'txtArea' ).value; |
|
44 |
|
45 // Check the active editing mode. |
|
46 if ( editor.mode == 'wysiwyg' ) |
|
47 { |
|
48 // Insert as plain text. |
|
49 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText |
|
50 editor.insertText( value ); |
|
51 } |
|
52 else |
|
53 alert( 'You must be in WYSIWYG mode!' ); |
|
54 } |
|
55 |
|
56 function SetContents() { |
|
57 // Get the editor instance that we want to interact with. |
|
58 var editor = CKEDITOR.instances.editor1; |
|
59 var value = document.getElementById( 'htmlArea' ).value; |
|
60 |
|
61 // Set editor contents (replace current contents). |
|
62 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData |
|
63 editor.setData( value ); |
|
64 } |
|
65 |
|
66 function GetContents() { |
|
67 // Get the editor instance that you want to interact with. |
|
68 var editor = CKEDITOR.instances.editor1; |
|
69 |
|
70 // Get editor contents |
|
71 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData |
|
72 alert( editor.getData() ); |
|
73 } |
|
74 |
|
75 function ExecuteCommand( commandName ) { |
|
76 // Get the editor instance that we want to interact with. |
|
77 var editor = CKEDITOR.instances.editor1; |
|
78 |
|
79 // Check the active editing mode. |
|
80 if ( editor.mode == 'wysiwyg' ) |
|
81 { |
|
82 // Execute the command. |
|
83 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand |
|
84 editor.execCommand( commandName ); |
|
85 } |
|
86 else |
|
87 alert( 'You must be in WYSIWYG mode!' ); |
|
88 } |
|
89 |
|
90 function CheckDirty() { |
|
91 // Get the editor instance that we want to interact with. |
|
92 var editor = CKEDITOR.instances.editor1; |
|
93 // Checks whether the current editor contents present changes when compared |
|
94 // to the contents loaded into the editor at startup |
|
95 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty |
|
96 alert( editor.checkDirty() ); |
|
97 } |
|
98 |
|
99 function ResetDirty() { |
|
100 // Get the editor instance that we want to interact with. |
|
101 var editor = CKEDITOR.instances.editor1; |
|
102 // Resets the "dirty state" of the editor (see CheckDirty()) |
|
103 // http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-resetDirty |
|
104 editor.resetDirty(); |
|
105 alert( 'The "IsDirty" status has been reset' ); |
|
106 } |
|
107 |
|
108 function Focus() { |
|
109 CKEDITOR.instances.editor1.focus(); |
|
110 } |
|
111 |
|
112 function onFocus() { |
|
113 document.getElementById( 'eMessage' ).innerHTML = '<b>' + this.name + ' is focused </b>'; |
|
114 } |
|
115 |
|
116 function onBlur() { |
|
117 document.getElementById( 'eMessage' ).innerHTML = this.name + ' lost focus'; |
|
118 } |
|
119 |
|
120 </script> |
|
121 |
|
122 </head> |
|
123 <body> |
|
124 <h1 class="samples"> |
|
125 <a href="index.html">CKEditor Samples</a> » Using CKEditor JavaScript API |
|
126 </h1> |
|
127 <div class="warning deprecated"> |
|
128 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>. |
|
129 </div> |
|
130 <div class="description"> |
|
131 <p> |
|
132 This sample shows how to use the |
|
133 <a class="samples" href="http://docs.ckeditor.com/#!/api/CKEDITOR.editor">CKEditor JavaScript API</a> |
|
134 to interact with the editor at runtime. |
|
135 </p> |
|
136 <p> |
|
137 For details on how to create this setup check the source code of this sample page. |
|
138 </p> |
|
139 </div> |
|
140 |
|
141 <!-- This <div> holds alert messages to be display in the sample page. --> |
|
142 <div id="alerts"> |
|
143 <noscript> |
|
144 <p> |
|
145 <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript |
|
146 support, like yours, you should still see the contents (HTML data) and you should |
|
147 be able to edit it normally, without a rich editor interface. |
|
148 </p> |
|
149 </noscript> |
|
150 </div> |
|
151 <form action="../../../samples/sample_posteddata.php" method="post"> |
|
152 <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> |
|
153 |
|
154 <script> |
|
155 // Replace the <textarea id="editor1"> with an CKEditor instance. |
|
156 CKEDITOR.replace( 'editor1', { |
|
157 on: { |
|
158 focus: onFocus, |
|
159 blur: onBlur, |
|
160 |
|
161 // Check for availability of corresponding plugins. |
|
162 pluginsLoaded: function( evt ) { |
|
163 var doc = CKEDITOR.document, ed = evt.editor; |
|
164 if ( !ed.getCommand( 'bold' ) ) |
|
165 doc.getById( 'exec-bold' ).hide(); |
|
166 if ( !ed.getCommand( 'link' ) ) |
|
167 doc.getById( 'exec-link' ).hide(); |
|
168 } |
|
169 } |
|
170 }); |
|
171 </script> |
|
172 |
|
173 <p id="eMessage"> |
|
174 </p> |
|
175 |
|
176 <div id="eButtons" style="display: none"> |
|
177 <input id="exec-bold" onclick="ExecuteCommand('bold');" type="button" value="Execute "bold" Command"> |
|
178 <input id="exec-link" onclick="ExecuteCommand('link');" type="button" value="Execute "link" Command"> |
|
179 <input onclick="Focus();" type="button" value="Focus"> |
|
180 <br><br> |
|
181 <input onclick="InsertHTML();" type="button" value="Insert HTML"> |
|
182 <input onclick="SetContents();" type="button" value="Set Editor Contents"> |
|
183 <input onclick="GetContents();" type="button" value="Get Editor Contents (HTML)"> |
|
184 <br> |
|
185 <textarea cols="100" id="htmlArea" rows="3"><h2>Test</h2><p>This is some <a href="/Test1.html">sample</a> HTML code.</p></textarea> |
|
186 <br> |
|
187 <br> |
|
188 <input onclick="InsertText();" type="button" value="Insert Text"> |
|
189 <br> |
|
190 <textarea cols="100" id="txtArea" rows="3"> First line with some leading whitespaces. |
|
191 |
|
192 Second line of text preceded by two line breaks.</textarea> |
|
193 <br> |
|
194 <br> |
|
195 <input onclick="CheckDirty();" type="button" value="checkDirty()"> |
|
196 <input onclick="ResetDirty();" type="button" value="resetDirty()"> |
|
197 </div> |
|
198 </form> |
|
199 <div id="footer"> |
|
200 <hr> |
|
201 <p> |
|
202 CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a> |
|
203 </p> |
|
204 <p id="copy"> |
|
205 Copyright © 2003-2016, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico |
|
206 Knabben. All rights reserved. |
|
207 </p> |
|
208 </div> |
|
209 </body> |
|
210 </html> |