The code we have works fine on Firefox. That said, it is weird on IE 8. On IE 9, it simply crashes the browser.
Here is what we are doing:
On a page with N CKEditor instances, we let the user enter some data in each of the N text areas. After this, the user can choose the kind of alignment she would like to have & it is expected that the data in each of those text areas would align themselves relative to the longest string of data (and some other rules). Hence, it is expected that the CKEditor instances will update themselves & render properly aligned data. Here are the high level steps we are executing:
1. Get the CKEditor instances & pass them to the alignment function (JS)
2. Remove all custom <span>s that we might have applied on each of the instances & simply work with the data
3. Compute the widest data amongst the instances
4. Add custom span to each CKEditor instance's data with a padding derived relative to widest piece of data
5. Call updateElement()
Typical sequence of functions called:
1. var initialHtml = this.getSnapshot();
2. Manipulate initialHtml into replacedHtml
3. this.loadSnapshot(replacedHtml);
4. this.updateElement();
With each of the editors, the sequence of function calls is as follows:
1. var html = this.getBody(); & var spanElement = $(html).find('.special_class');
2. Compute width & required padding
3. spanElement.replaceWith('blah')
4. this.updateElement();
Once again, this works fine on FF & then has erratic behaviour on IE 8. Sometimes the alignment goes through fine. Sometimes only some are aligned. Often all data gets cleared/blanked out. On IE 9 it simply crashes.
Here is what we are doing:
On a page with N CKEditor instances, we let the user enter some data in each of the N text areas. After this, the user can choose the kind of alignment she would like to have & it is expected that the data in each of those text areas would align themselves relative to the longest string of data (and some other rules). Hence, it is expected that the CKEditor instances will update themselves & render properly aligned data. Here are the high level steps we are executing:
1. Get the CKEditor instances & pass them to the alignment function (JS)
2. Remove all custom <span>s that we might have applied on each of the instances & simply work with the data
3. Compute the widest data amongst the instances
4. Add custom span to each CKEditor instance's data with a padding derived relative to widest piece of data
5. Call updateElement()
Typical sequence of functions called:
1. var initialHtml = this.getSnapshot();
2. Manipulate initialHtml into replacedHtml
3. this.loadSnapshot(replacedHtml);
4. this.updateElement();
With each of the editors, the sequence of function calls is as follows:
1. var html = this.getBody(); & var spanElement = $(html).find('.special_class');
2. Compute width & required padding
3. spanElement.replaceWith('blah')
4. this.updateElement();
Once again, this works fine on FF & then has erratic behaviour on IE 8. Sometimes the alignment goes through fine. Sometimes only some are aligned. Often all data gets cleared/blanked out. On IE 9 it simply crashes.
Re: Updating data in CKEditor on IE 8 blanks out the data
Could you please report this on our Development site, as described here? This will allow our developers to investigate the issue. Thanks!
Documentation Manager, CKSource
See CKEditor 5 docs, CKEditor 4 docs, CKEditor 3 docs, CKFinder 3 docs, CKFinder 2 docs for help.
Visit the new CKEditor SDK for samples showcasing editor features to try out and download!
Re: Updating data in CKEditor on IE 8 blanks out the data
Not sure whether this is a bug or some wrong usage from our end. Hence, I will raise this issue in the dev forum & on advice I will create a bug if it is a bug indeed. Thanks for the pointer.