Blame view

public/ckeditor/samples/old/api.html 7.18 KB
180e53f58   Андрей Ларионов   Редактор ckeditor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
  <!DOCTYPE html>
  <!--
  Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
  CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model.
  -->
  <html lang="en">
  <head>
  	<meta charset="utf-8">
  	<title>API Usage &mdash; CKEditor Sample</title>
  	<script src="../../ckeditor.js"></script>
  	<link href="sample.css" rel="stylesheet">
  	<meta name="description" content="Try the latest sample of CKEditor 4 and learn more about customizing your WYSIWYG editor with endless possibilities.">
  	<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> &raquo; Using CKEditor JavaScript API
  	</h1>
  	<div class="warning deprecated">
  		This sample is not maintained anymore. Check out its <a href="https://ckeditor.com/docs/ckeditor4/latest/examples/api.html">brand new version in CKEditor Examples</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">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</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 &quot;bold&quot; Command">
  			<input id="exec-link" onclick="ExecuteCommand('link');" type="button" value="Execute &quot;link&quot; 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">&lt;h2&gt;Test&lt;/h2&gt;&lt;p&gt;This is some &lt;a href="/Test1.html"&gt;sample&lt;/a&gt; HTML code.&lt;/p&gt;</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 &copy; 2003-2023, <a class="samples" href="https://cksource.com/">CKSource</a> Holding sp. z o.o. All rights reserved.
  		</p>
  	</div>
  </body>
  </html>