I got together with John Resig, maker of jQuery (which was how I was doing the AJAX call through something called jQuery Form Plugin), and he was stumped as well and hadn't seen the issue before. However, I built 3 web apps and this problem was occurring in each one. I would have AJAX pull back a form with a TinyMCE control on it, and then the red stop icon would appear in an infinite loop randomly when that control was either shown or the form was processed back to the server. I checked it for Javascript errors and had none. I checked it for XHTML issues and had none. I tried to add debug statements in the code and could only determine that the problem would occur after showing or hiding the TinyMCE control, or doing an AJAX call to retrieve a form with it.
I then published the problem on stackoverflow.com and eventually someone had seen it before and suggested I try what he did. His solution was to use an IFRAME in the calling page (the one that made the AJAX call), and every time I retrieve or post the form over AJAX with the TinyMCE control, to use Javascript to write to the document object of that IFRAME and then close it.
Well, sure enough this problem was fixed. First, stick this IFRAME in your calling page:
Code: Select all
<iframe frameborder="0" src="http://mysite.com/fixdoc.html" id="frameFix" height="1" width="1" style="position: relative; left: -500px"></iframe>
Code: Select all
var ifr = document.getElementById('frameFix');
var doc = ifr.contentDocument;
if (doc == undefined || doc == null)
doc = testFrame.contentWindow.document;
doc.open();
doc.write(' ');
doc.close();Hope this helps you, in case you ever run up against it.