Our application has 1 to n editors on the page with data that is submitted via ajax when you save. As part of the code to load it I am checking to see if it exists, and if so removing it, as per the recommendations I've found elsewhere for handling it with AJAX.
Is an example of the code to load it. This works fine as far as it goes.
The problem I am having is that if we save the content in the editor, refresh the part of the page the editors is on, and have the editors reload like that, then attempt to navigate to another part of the application, i am getting the "i.contentWindow is null" error. I am even iterating through all of the editor instances in the CKEDITOR.instances collection and using destroy() on them as part of the process of navigating away. They are correctly all destroyed, but then the "i.contentWindow" is null error pops up and stops navigation. At this point there aren't even any editors open. What is going on, has anyone seen anything like this before?
if(CKEDITOR.instances['editor1']) { CKEDITOR.remove(CKEDITOR.instances['editor1']); } CKEDITOR.replace('editor1', { height : 200, toolbarStartupExpanded : false});
Is an example of the code to load it. This works fine as far as it goes.
The problem I am having is that if we save the content in the editor, refresh the part of the page the editors is on, and have the editors reload like that, then attempt to navigate to another part of the application, i am getting the "i.contentWindow is null" error. I am even iterating through all of the editor instances in the CKEDITOR.instances collection and using destroy() on them as part of the process of navigating away. They are correctly all destroyed, but then the "i.contentWindow" is null error pops up and stops navigation. At this point there aren't even any editors open. What is going on, has anyone seen anything like this before?
Re: i.contentWindow is null on navigation
This is a shortcoming to the API. Why can't we just destroy the JS object after dom element has been blown away by something?
What is the proper way to dispose of the editor if the dom element is gone?
Is that sufficient?