Opened 10 years ago

Closed 10 years ago

#1060 closed Bug (fixed)

Not compatible with Firefox 3

Reported by: Dr. Sharad Kelkar 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 (10)

comment:1 Changed 10 years ago by Martin Kou

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 10 years ago by Martin Kou

Component: Project : FCKpackagerGeneral
Milestone: FCKeditor 2.5
Version: FCKeditor 2.4.3SVN

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 10 years ago by Alfonso Martínez de Lizarrondo

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 10 years ago by Frederico Caldeira Knabben

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 10 years ago by Frederico Caldeira Knabben

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

comment:6 Changed 10 years ago by Martin Kou

[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 10 years ago by Martin Kou

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 10 years ago by Martin Kou

[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 10 years ago by Martin Kou

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 10 years ago by Martin Kou

Resolution: fixed
Status: newclosed

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

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