user990016
user990016

Reputation: 3378

fckeditor copy paste disabled for Firefox and Chrome

I have and internal admin site that is used only by our people. For the most part they use Firefox ( that's the standard for the site anyway). We use Coldfusion 9 for development and have quite a few <cftextarea> tags. I seem to have lost touch with whatever controls the clipboard events. But, they have been disabled. I'm just guessing, but it seems like FF 42 seems to be the culprit when using the CF9 fckeditor. I could convert to another editor but that's a pretty big task.

I've been researching but can't find any clear instructions on setting security policies in FF. I need suggestions. I'm just about to try changing the tag from <cftextarea> to textarea but I know I'm going to run into problems getting getting richtext functions.

Upvotes: 1

Views: 2764

Answers (4)

user990016
user990016

Reputation: 3378

The only option available is to convert to CKeditor and stop using tags. However, CKeditor has problems running under CFlayout tags. What a complete cludge of crap! The real solution is to get completely away from Coldfusion/Adobe. I don't have a suggestion, but I will be researching.

Upvotes: 0

Cohen
Cohen

Reputation: 21

The problem is caused by a changed security behavior in Firefox 41 and later.

You have to modify the following lines in fckeditorcode_gecko.js. Add "|| FCKBrowserInfo.IsGecko" in the following lines (marked bold). After that the paste buttons are always active and pasting something will always open up a paste window (it's the same behavior ckeditor uses).

GetNamedCommandState:function(A){try{if ((FCKBrowserInfo.IsSafari **|| FCKBrowserInfo.IsGecko**)&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;

...

FCK.RedirectNamedCommands={Print:true,Paste:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try{if (FCKBrowserInfo.IsSafari **|| FCKBrowserInfo.IsGecko**) throw '';

Upvotes: 2

Cohen
Cohen

Reputation: 1

The changes are active instantaniously but Firefox sometimes does not reload changed Javascript files. In that case you should delete your browser history completely and then reload the editor.

Upvotes: 0

G.Urzeda
G.Urzeda

Reputation: 83

If you want to enable paste functionality icons you can alter following function:

var FCKToolbarButton = function(A, B, C, D, E, F, G) {
console.log(A, B, C, D, E, F, G);
this.CommandName = A;
this.Label = B;
this.Tooltip = C;
this.Style = D;
this.SourceView = true; //E ? true : false;
this.ContextSensitive = false; //F ? true : false;
if (G == null) this.IconPath = FCKConfig.SkinPath + 'toolbar/' + A.toLowerCase() + '.gif';
else if (typeof(G) == 'number') this.IconPath = [FCKConfig.SkinPath + 'fck_strip.gif', 16, G];
else this.IconPath = G;
};

and change

this.ContextSensitive = F ? true : false;

to

this.ContextSensitive = false;

You can find this function in FCKeditor/editor/js/fckeditorcode_gecko.js and FCKeditor/editor/js/fckeditorcode_ie.js

It's not best solution but it works.

Upvotes: 2

Related Questions