IE7 does not honor the "Default state" toggle setting when the profile is granted choosing privileges. Instead, TinyMCE always displays even when the default is set to "disabled." (This issue does not affect IE6 or Firefox, which do correctly honor the setting.)

I'm using version of 2.1.3 of the actual TinyMCE editor, from Moxiecode.

Sample relevant profile settings, under "Basic setup":

  • Default state: Disabled
  • Allow users to choose default: True
  • Show disable/enable rich text editor toggle: True

Expected Behavior: Upon first accessing a node's Edit panel, the TinyMCE editor does not display on text blanks. The toggle link below them reads "enable rich-text." User would then click "enable" to activate the wysiwyg editor.

Actual Behavior: In IE7 only, the TinyMCE wysiwyg editor does display and is active upon first access, thus affecting any pre-existing text and/or PHP code already in the blank.

Consequences: Aside from the obvious (settings should just be honored, eh wot?), this can destroy the formatting and/or code already present in the field. (Subsequent disabling of TinyMCE on a field does not reset its content to its original state -- which is perfectly logical and correct, but simply means there's no escape for the user affected by this bug...except not doing any editing).

Thanks for listening...

Comments

spencersundell’s picture

It appears this to be caused by a conflict or bug involving jQuery in IE7 only.

Solution: The TinyMCE default state issue above was resolved when I decided to update jQuery to version 1.1.3.1 in a bid to staunch some gnarly memory leaks.

Note that jQuery 1.1.4 does not play nice with the content editing/creation admin pages, at least not when using TinyMCE. What I got in both IE7 and Firefox was an empty document containing only a single "enable rich text editor" link -- not even HTML or BODY tags. Yes, wacky. Note that I did not test removing TinyMCE, so this may or may not make a difference.

At some point earlier in development, I used the jQuery Update module to initially upgrade to jQuery 1.1.2 (including the 1.0 compatibility script and the collapse-fix script). Sorry, but I cannot recall or reconstruct whether I did this before or after noticing the issue with TinyMCE (as I was initially working entirely in Firefox).

So at least based on my experience here, sites using TinyMCE 2.1.3 in Drupal 5.7 should upgrade to jQuery 1.1.3 but not use jQuery 1.1.4. Your mileage may vary (and if so, please post a followup here).

cheers

devink’s picture

Thank you, that has fixed my problem!

For reference, TinyMCE worked OK in Windows Vista with IE7.
TinyMCE worked OK in Windows XP Professional SP2 with IE6.
It did NOT work in Windows XP Home, SP2 with IE7.

For anyone trying this, you might need to know how to install the updated jsQuery...

1. Download from locations mentioned above.
2. Rename to jsquery.js
3. The file belongs in the /misc folder of your installation. Rename the current version, in order to back it up.

Hope this helps!

Steve V.

permutations’s picture

I think you mean rename to jquery.js, right?

Thanks.

permutations’s picture

I tried it, and I don't see it made a difference. All I could check was my own account, though.

permutations’s picture

Updating to jQuery 1.1.3.1 broke many things on my site. Don't do it!

spencersundell’s picture

@permutations: Sorry to hear it gave you trouble, but since there are at least 2 people who used this fix with no difficulty (myself and @devink), you shouldn't declare a blanket "don't do it." (And if all you could check was your account, I don't think you would've seen the issue in question, let alone whether it was fixed?)

Perhaps you did something incorrectly, and/or something about your Drupal installation does not match the stated conditions above?

What's your environment?

  • What version of Drupal you are using?
  • Did you use the jQuery Update module with the more recent version of jQuery? (The module comes with v. 1.1.2) Are you sure you followed the installation instructions correctly?
  • Did you also make sure compat-1.0.js was installed?
  • Are you using custom functions? Perhaps there's something in your code that's not compatible with jQuery 1.1.3.1.

What broke exactly?

  • What functionality was impacted?
  • What specific JS errors did you get?
  • Was this everywhere on the site, or just in some places?

cheers

permutations’s picture

Sorry, I can't remember the details anymore. I just made this change, members of my community wrote to me about something that had broken (can't remember what), I backed out the new jQuery, and all was well again.

I'm spending most of my time lately debugging the phpfreechat module and posting the code for that.

mupsi’s picture

Status: Active » Closed (outdated)