Fckeditor stopped working after upgrade to Firefox 17.0
Since updating Firefox to the latest version (17.0), the fckeditor has stopped working on my website. It will open but there are no icons and I cannot type anything. If there was text there before, it doesn't show up when opening the fckeditor.
It works fine in Internet Explorer and was working earlier today in Firefox before I upgraded Firefox.
Hoping somebody can help.
Chosen solution
The change which caused this problem is being reverted in Firefox 17.0.1.
However, any site which was broken by this change is also broken in Firefox for Android and Firefox OS, which have had the updated user agent for quite some time. Therefore, you are encouraged to fix them anyway.
Gerv
Read this answer in context 👍 3All Replies (20)
Same problem for me, temporary i have resolved reverting to version 16. I investigating and it is a problem with user agent, fckeditor does not recognize firefox 17 as compatible browser and does not show icons and toolbars and show only a textarea with source htm code. Please give a solution we use fckeditor in several our application and if firefox does not work we are forced to change browser
Modified
To fix this problem, simply edit the following:
/fckeditor/fckeditor_php5.php (go to line 58) and change it from:
return ($iVersion >= 20030210) ;
to
return TRUE ;
Have fun,
mrcityrunner
Modified
Does not work for me, i'm using fckeditor in asp.net 3.5 web application you think i have to modify some other files? thank you
Oh - this fix worked for me as im using linux so its not asp...
i modify fckeditor.asp and fckeditor.js they as a same function FCKeditor_IsCompatibleBrowser() but does not work. yes the point is useragent but i cannot find the correct file to edit
aaargh
maybe upgrade to ckeditor to resolve all issues...
thanks, i'm already using ckeditor in newer application, but we have two application in production using fckeditor and now we can't upgrade to ckeditor, we suggest to our users to use ff 16 or another browser
Hi, I have the same problem here. The FCKeditor team (now CKEditor) say they don't support FCKeditor anymore, and if the only change is that the user agent is not recognized anymore, then it would be good to know what exactly changed and why, so as to provide a fix for our production systems.
I am the technical leader of the Chamilo LMS (GNU/GPL) project, we have hundreds of thousands of teachers using FCKeditor and we generally recommend them to use Firefox, but having automatic update provoking this puts us in a tricky situation, because we don't force our users to upgrade, so if we want to help them now, we're going to have to undertake major efforts of communication. Albeit not the fault of Firefox itself (basing the features on user agent detection has never been a good idea), it makes it difficult to keep promoting FF when problems happens too often (I have a worrying amount of personal reports of people being upset by the automatic updates breaking stuff lately).
Modified
Ywarnier... Im in the exact same position. Luckily that fix I mention worked for me but I think its now time to migrate to ckeditor as I can only see more problems cropping up down the line..
There's a reference here to an announcement of the change in the User-Agent (basically getting rid of the Gecko build date and replacing it with "17.0"): https://groups.google.com/forum/?fromgroups=#!topic/mozilla.engagement.developers/jzdH7q4JhoM
Taking that logic into account, the right patch for PHP-based applications would be to update fckeditor/fckeditor.php (as mentionned by mrcityrunner) and transforming:
else if ( strpos($sAgent, 'Gecko/') !== false ) { $iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ; return ($iVersion >= 20030210) ; }
into:
else if ( strpos($sAgent, 'Gecko/') !== false ) { $iVersion = substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ; // Special fix for Firefox 17 and followers if ( preg_match('/^\d{2,3}\.\d{1,4}\s/', $iVersion) ) { return true; } $iVersion = (int)$iVersion; return ($iVersion >= 20030210) ; }
Although mrcityrunner's patch above is perfectly valid, it could still happen that *another* browser with the Gecko string but without sufficient capabilities to support FCKEditor would match and thus provoke other bugs, so this version is just a little bit more precise.
Internally in Chamilo we've added this as a ticket for our community: http://support.chamilo.org/issues/5752
any solution to fckeditor in asp.net application?
Hey guys,
We are looking into this issue right now. Can you please list the affected versions of fckeditor that you are using? That would help us to figure out what exactly is happening.
Thanks!
which file do i check in the /fckeditor folder to determine its version?
Modified
I've the same problem. I'm just using JS version, not PHP or ASP, and I thin the problem is on a "fckeditorcode_gecko.js" file in the following chunk of code to detect browser version:
--- var s = navigator.userAgent.toLowerCase(); var FCKBrowserInfo = {
IsIE: /*@cc_on!@*/ false, IsIE7: /*@cc_on!@*/ false && (parseInt(s.match(/msie (\d+)/)[1], 10) >= 7), IsIE6: /*@cc_on!@*/ false && (parseInt(s.match(/msie (\d+)/)[1], 10) >= 6), IsSafari: s.Contains(' applewebkit/'), IsOpera: !! window.opera, IsAIR: s.Contains(' adobeair/'), IsMac: s.Contains('macintosh')
}; (function (A) {
A.IsGecko = (navigator.product == 'Gecko') && !A.IsSafari && !A.IsOpera; A.IsGeckoLike = (A.IsGecko || A.IsSafari || A.IsOpera); if (A.IsGecko) { var B = s.match(/rv:(\d+\.\d+)/); var C = B && parseFloat(B[1]); if (C) { A.IsGecko10 = (C < 1.8); A.IsGecko19 = (C > 1.8); } }
})(FCKBrowserInfo); ---
Anyone knows how to update this to recognize Firefox 17?
I've just had a look in my fckeditor.js file and I think it's version 2.4.3 that I'm running. Hope you can come up with a solution soon.
We're using 2.6.5.
@cibersistemas: as far as I can see the JS code you mention should work with the new version (it checks the "rv:17.0" part is there and the number (17.0) is > 1.8, so everything is fine there. If it doesn't work, it is probably coming from somewhere else.
As indicated in the post linked above, the new User-Agent string is something like this: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0
The "rv:17.0" bit has only changed slightly in the version number, but it doesn't influence the code you quoted.
Hi Matt - my fckeditor version is 2.6.4
Firefox 17 has broken the dhtml menu's in my websites as well as fckeditor loading. Logs of bugs and issues to resolve causing a lot of headaches for web designers like myself supporting lots of clients we have told to use Firefox instead of other browsers - I wish more testing was done before it was rolled out. Chrome is looking stronger than ever now.
Let me be the devil's advocate here, why not use the Aurora or Beta versions of Firefox to locate problems such as this, long before a new version of Firefox is even released. When you find problems like this, file a Bug report to let the development team that there is a problem to give them time to fix it before release.
Firefox is a "community effort" and with your input problems like this might be avoided.
Then again, you're talking about a piece of software (fckeditor) which might be almost 10 years old and isn't even supported by its' developer any longer.
I resolved for fckeditor in asp.net application using fckeditor.net control: from fckeditor.net source i modify FCKeditor.cs file like that:
if ( sUserAgent.IndexOf( "Gecko/" ) >= 0 ) { Match oMatch = Regex.Match( request.UserAgent, @"(?<=Gecko/)\d{8}" ); if ( sUserAgent.IndexOf( "Gecko/17" ) >= 0 ) { return true; } else { return ( oMatch.Success && int.Parse( oMatch.Value, CultureInfo.InvariantCulture ) >= 20030210 ); } }
rebuild and updating the .dll in my project everything works, now i refine the gecko/17 control with some regexp but this approch works, for application using fckeditor.net dll you have to modify the source and rebuild i found the source here: http://sourceforge.net/projects/fckeditor/files/FCKeditor.Net/
DO NOT implement fixes which will break again if we decide to switch this back (which is not entirely out of the question).
ywarnier's solution will break in about 10 years time, when the Firefox version number gets over 100.
Best thing is to eliminate UA sniffing and do feature detection. But, if you must know the version of Gecko, look at the numbers following the "rv:" token.
Gerv