Firefox和Chrome禁用fckeditor复制粘贴

Firefox和Chrome禁用fckeditor复制粘贴,firefox,coldfusion,coldfusion-9,fckeditor,cfml,Firefox,Coldfusion,Coldfusion 9,Fckeditor,Cfml,我有一个内部管理网站,只供我们的人使用。在大多数情况下,他们使用Firefox(这是网站的标准)。我们使用Coldfusion 9进行开发,并且有相当多的标记。我似乎与控制剪贴板事件的任何东西失去了联系。但是,他们已经残疾了。我只是在猜测,但在使用CF9 fckeditor时,FF42似乎是罪魁祸首。我可以换一个编辑,但这是一个相当大的任务 我一直在研究,但找不到任何关于在FF中设置安全策略的明确说明。我需要建议。我正准备尝试将标记从更改为textarea,但我知道在获取richtext函数时会

我有一个内部管理网站,只供我们的人使用。在大多数情况下,他们使用Firefox(这是网站的标准)。我们使用Coldfusion 9进行开发,并且有相当多的
标记。我似乎与控制剪贴板事件的任何东西失去了联系。但是,他们已经残疾了。我只是在猜测,但在使用CF9 fckeditor时,FF42似乎是罪魁祸首。我可以换一个编辑,但这是一个相当大的任务


我一直在研究,但找不到任何关于在FF中设置安全策略的明确说明。我需要建议。我正准备尝试将标记从
更改为textarea,但我知道在获取richtext函数时会遇到问题。

如果要启用粘贴功能图标,可以更改以下功能:

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;
};
改变

this.ContextSensitive = F ? true : false;

您可以在FCKeditor/editor/js/fckeditorcode_gecko.js和FCKeditor/editor/js/fckeditorcode_ie.js中找到此函数


这不是最好的解决方案,但很有效。

该问题是由Firefox 41及更高版本中更改的安全行为引起的

您必须在
fckeditorcode\u gecko.js
中修改以下行。在以下行中添加“
| | FCKBrowserInfo.IsGecko
”(标记为粗体)。之后,粘贴按钮始终处于活动状态,粘贴内容将始终打开一个粘贴窗口(这与ckeditor使用的行为相同)


这些更改会立即激活,但Firefox有时不会重新加载更改的Javascript文件。在这种情况下,您应该完全删除浏览器历史记录,然后重新加载编辑器

唯一可用的选项是转换为CKeditor并停止使用标记。但是,CKeditor在CFlayout标记下运行时出现问题。真是一派胡言!真正的解决方案是完全脱离Coldfusion/Adobe。我没有建议,但我会继续研究。

同样,我使用的是旧的fckeditor版本。“过去自Word”按钮已禁用。在FF42之前一切正常(可能是41岁,不确定)。其他浏览器没有这个问题。我在Win7和MacI上的FF41也有同样的问题。在做了更改后,我没有看到任何差异。该文件只有一个实例。我一直在寻找代码中的某个地方,在那里我可以添加一个“x”,这样我就可以知道我是否在使用更改后的代码。不容易。更改将在何时激活?我也看不出这个补丁有什么不同。对我来说,它只改变文件fckplugin.js中的“GetNamedCommandState”部分就行了。这应该是答案。
this.ContextSensitive = false;
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 '';