Ticket #1060 (closed Bug: fixed)

Opened 7 years ago

Last modified 7 years ago

Not compatible with Firefox 3

Reported by: drsskelkar Owned by:
Priority: Normal Milestone: FCKeditor 2.5 Beta
Component: General Version: SVN (FCKeditor) - Retired
Keywords: Confirmed Firefox Cc:

Description

I have been using FCK Editor in my web pages for quite some time. It works great in IE6/IE7, FireFox Versions 1/ 1.5 / 2

But to my surprise it just failed to appear in upcoming Fire Fox 3.
I have tested with Fire Fox Alpha 3 Build 7 ( Gran Paradiso )
I have downloaded Firefor 3 from :
http://developer.mozilla.org/devnews/index.php/2007/08/03/gran-paradiso-alpha-7-available-for-download/
I am worried : It is just a temporary bug or Firefox is going to drop support for Design Mode functionality all to gather.

Thanks

Sharad

Change History

comment:1 Changed 7 years ago by martinkou

Don't worry, design mode functionality is not dropped in Gran Paradiso. The inner workings of the JavaScript engine in Gran Paradiso is changed, however. For example (just an example, I don't mean it's FCKeditor's problem), in Firefox 2, you can do something like this:

var func = domNode.appendChild  ;
func( document.createElement('div') ) ;

and it would still work. In Gran Paradiso, however, it wouldn't work. You can't really say that's "wrong", however, considering the OO syntax.

comment:2 Changed 7 years ago by martinkou

  • Version changed from FCKeditor 2.4.3 to SVN
  • Component changed from Project : FCKpackager to General
  • Milestone set to FCKeditor 2.5

By the way, I don't think it's a bug within the packager. I've tested the SVN version of FCKeditor (which isn't packaged) and it isn't working in Gran Paradiso.

Also, I think it would only make sense that we make FCKeditor 2.5 work in Firefox 3. Since FF3 is almost at the end of its alpha stage already.

comment:3 Changed 7 years ago by alfonsoml

I looked at this problem with the previous alpha and then it worked for me to use the same method to inject the FCKeditorAPI in the parent window as it's done for Safari: current code:

			else if ( FCKBrowserInfo.IsSafari )
			{
				// oParentWindow.eval in Safari executes in the calling window
				// environment, instead of the parent one. The following should make it work.
				var oParentDocument = oParentWindow.document ;
				var eScript = oParentDocument.createElement('script') ;
				eScript.appendChild( oParentDocument.createTextNode( sScript ) ) ;
				oParentDocument.documentElement.appendChild( eScript ) ;
			}
			else
				oParentWindow.eval( sScript ) ;

pseudoSolution:

			else if ( FCKBrowserInfo.IsSafari || FCKBrowserInfo.IsGecko19)
			{
				// oParentWindow.eval in Safari executes in the calling window
				// environment, instead of the parent one. The following should make it work.
				var oParentDocument = oParentWindow.document ;
				var eScript = oParentDocument.createElement('script') ;
				eScript.appendChild( oParentDocument.createTextNode( sScript ) ) ;
				oParentDocument.documentElement.appendChild( eScript ) ;
			}
			else
				oParentWindow.eval( sScript ) ;

(of course now FCKBrowserInfo.IsGecko19 doesn't exist, it's just an idea about how to solve it if they don't change the behavior)

comment:4 Changed 7 years ago by fredck

  • Keywords Confirmed Firefox added; gran paradiso firefox 3 removed

It seams that Firefox 3 will drop support for object.prototype.eval, and the work to remove it has also changed the scope in which evaluated expressions get executed. It seams that now the calling window will be the scope, instead of the window object (in our case oParentWindow). That's the exact way Safari works too.

I've opened a ticket at Mozilla's Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=391923

I'm not sure about their intentions in this field, but let's wait a little to see their feedback on this. In the negative case, we could think about dropping the last "else" block (oParentWindow.eval), using the Safari implementation as the default for all browsers, except IE and FF1.0... if it works well for them.

comment:5 Changed 7 years ago by fredck

  • Summary changed from FCK editor just fails totally in FireFox 3 Alpha Build 7 ( Gran Paradiso ) to Not compatible with Firefox 3

comment:6 Changed 7 years ago by martinkou

[659] has enabled FCKeditor to run in Gran Paradiso, using Alfonso's suggestion.

However, FCKeditor dialog boxes are still not working in Gran Paradiso.

comment:7 Changed 7 years ago by martinkou

The following code in FCKDialog.Show(), fckdialog_gecko.js, is found to be not working under Gran Paradiso:

  1. oWindow.moveTo() and oWindow.resizeTo() - calling them would cause JavaScript exceptions;
  2. oWindow.location.href = pageUrl - this line does absolutely nothing in Gran Paradiso, it seems to be silently ignored;
  3. oWindow.dialogArguments = dialogInfo - this line causes JavaScript exception, saying that we're attempting to set a property with only a getter but not a setter.

comment:8 Changed 7 years ago by martinkou

[660] fixes the open dialog error in Gran Paradiso. It seems Gecko 1.9 has a bug with the "modal=yes" flag in window.open().

comment:9 Changed 7 years ago by martinkou

I've filed the modal=yes bug in Gran Paradiso under https://bugzilla.mozilla.org/show_bug.cgi?id=392018.

If they can solve both of the bugs mentioned here, then even older versions of FCKeditor (say, 2.4.x) should be able to work under Firefox 3.

comment:10 Changed 7 years ago by martinkou

  • Status changed from new to closed
  • Resolution set to fixed

I can't find anything that doesn't work in Firefox 3 anymore. Closing ticket.

Note: See TracTickets for help on using tickets.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy