Ticket #13123: ckeditor.html

File ckeditor.html, 3.0 KB (added by dumkac@…, 6 years ago)
Line 
1<html>
2<head>
3<script src="//cdn.ckeditor.com/4.4.7/standard-all/ckeditor.js" type="text/javascript" ></script>
4</head>
5<body>
6<div>
7        <div id='add'>add</div> 
8        <div id='remove'>remove</div>
9</div>
10<div id='editors'></div>
11
12
13        <script>
14
15                var add = document.getElementById('add');
16                add.addEventListener('click', function() {
17
18// ************************************************************* CREATE EDITOR **************
19var editors = document.getElementById('editors');                       
20var newDiv = document.createElement('div');                     
21editors.appendChild(newDiv);
22
23var disableContentFilter = true;
24var rightToLeft = false;
25var items = 'Bold,Italic,Strike,Underline,TextColor,BGColor,Font,FontSize,NumberedList,BulletedList,Outdent,Indent,Blockquote,Link,Unlink,Anchor,HorizontalRuleSpecialChar,RemoveFormat,Undo,Redo,Source';
26var shortcuts = '';
27
28var config = {
29      resize_enabled : false,
30      enterMode : CKEDITOR.ENTER_DIV,
31      removeButtons : '',
32      disableNativeSpellChecker : false,
33      browserContextMenuOnCtrl : false,
34      removePlugins : 'elementspath,magicline,tabletools,liststyle,contextmenu',
35      extraPlugins : 'colorbutton,floatpanel,panel,panelbutton,button,font,richcombo,listblock',
36      entities : false,     
37      extraAllowedContent : 'p[id];img[!src,alt];h1;h2;h3;div;pre;fieldset;legend;*{*}',
38      disallowedContent : '*[on*]'
39    };
40    if (disableContentFilter) {
41      config.allowedContent = true;
42    }
43    if (rightToLeft) {
44      config.contentsLangDirection = 'rtl';
45    }
46    config.toolbar = [ {
47      items : []
48    } ];
49    var itemsArray = items.split(",");
50    for (var i = 0; i < itemsArray.length; i++) {
51      config.toolbar[0].items.push(itemsArray[i]);
52    }
53
54    var shortcutArray = shortcuts.split(",");
55    for (var i = 0; i < shortcutArray.length; i++) {
56      var itemsArray = shortcutArray[i].split("+");
57      var code = 0;
58      for (var j = 0; j < itemsArray.length; j++) {
59        if (itemsArray[j] == "CKEDITOR.CTRL")
60          code += CKEDITOR.CTRL;
61        else if (itemsArray[j] == "CKEDITOR.SHIFT")
62          code += CKEDITOR.SHIFT;
63        else if (itemsArray[j] == "CKEDITOR.ALT")
64          code += CKEDITOR.ALT;
65        else
66          code += parseInt(itemsArray[j]);
67      }
68      CKEDITOR.config.blockedKeystrokes.push(code);
69    }
70
71    var editor = CKEDITOR.appendTo(newDiv, config, '');
72        newDiv.id = editor.name;
73editor = null;
74
75
76// *************************************************************
77                });
78
79                var remove = document.getElementById('remove');
80                remove.addEventListener('click', function() {
81
82// ************************************************************* REMOVE EDITOR **************
83                        var editors = document.getElementById('editors');                       
84                        var editorElement = editors.childNodes[editors.childNodes.length - 1];
85                       
86                        var editor = CKEDITOR.instances[editorElement.id];
87                        editor.removeAllListeners();
88                        editor.destroy();
89
90                        editors.removeChild(editorElement);
91// *************************************************************
92                });
93        </script>
94</body>
95</html>
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy