Ticket #3894: test.html

File test.html, 2.8 KB (added by Damian, 11 years ago)
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
4  <head>
5
6    <script type="text/javascript">
7       
8       
9    var instance = null;
10
11    function loadScript() {
12      if (!window.CKEDITOR || window.CKEDITOR == 'undefined') {
13        /* Replace URL to your ckeditor.js file */
14        getScript("ckeditor.js");
15           
16      }
17    }
18
19    function getScript(url){
20      var scriptTag = document.createElement("script");
21      scriptTag.setAttribute("type", "text/javascript");
22      scriptTag.setAttribute("src", url);
23      document.getElementsByTagName("head")[0].appendChild(scriptTag);
24      console.log('aaa');
25    }
26
27    function checkIfRTELoaded() {
28      if (typeof(window.CKEDITOR) != 'undefined') {
29        if (window.CKEDITOR.status && 
30          window.CKEDITOR.status != 'unloaded' &&
31          window.CKEDITOR.status != 'loading') {
32          return true;   
33        }
34      }
35      return false;
36    }
37
38    function destroy() {
39      if (instance)
40        instance.destroy();
41    }
42
43    function newEditor(){ 
44      if (!this.checkIfRTELoaded()) {
45        setTimeout(newEditor, 400);
46        return;
47      }
48   
49      instance = CKEDITOR.appendTo( 'div1',
50        {
51          on :
52          {
53            instanceReady : function( ev )
54              {
55                ev.editor.on( 'contentDom', function( evt )
56                  {
57                    evt.removeListener();
58                    ev.editor.resetDirty();
59                    ev.editor.resetUndo();
60                  });
61                ev.editor.setData( '<div><h1>Hello<\/h1><\/div>' );     
62              }
63          }
64        }
65      );
66    }
67    </script>
68  </head>
69  <body >
70    <div id="Test Description">
71      This test case loads the editor "on demand", meaning that the ckeditor script is added to the DOM only when the first instance of the
72      editor is required. <br />
73      Loading the script is via a script inclusion into the head node of the document. Then the newEditor() method is called, polling until the
74      CKEDITOR object is loaded. After loading, the new instance is created. <br />
75      The call fails to properly initialize the editor on first call (evidenced by lack of focus ability and no content), everytime in Firefox 3. <br />
76      When the first instance is destroyed and another
77      one created, the editor is initialized properly. The problem occurs only on the first load.
78    </div>
79   
80    <hr />
81   
82    <div id="buttons">
83      <input type="button" onclick="return destroy();" value="Destroy Editor" /> 
84      <input type="button" onclick="loadScript(); newEditor();" value="New Editor" />
85    </div>
86    <div id="div1"></div>
87  </body>
88</html>
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy