Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从MS Word复制并粘贴到CKEditor_Javascript_Html_Ms Word_Ckeditor - Fatal编程技术网

Javascript 从MS Word复制并粘贴到CKEditor

Javascript 从MS Word复制并粘贴到CKEditor,javascript,html,ms-word,ckeditor,Javascript,Html,Ms Word,Ckeditor,我有一个word文档,只包含两个单词“Hello to”。这实际上是原始文档的简化版本。此文本的字体系列为Calibri(正文)。我没有注意到word文档中这两个单词的格式有任何差异 当尝试将此文本复制并粘贴到ckeditor中时,“Hello”的字体系列正确地保留为Calibri,但中“to”一词的字体系列错误地更改为Arial。我不明白为什么它不保留“to”文本的字体系列 这是我的config.js: CKEDITOR.editorConfig = function( config ) {

我有一个word文档,只包含两个单词“Hello to”。这实际上是原始文档的简化版本。此文本的字体系列为Calibri(正文)。我没有注意到word文档中这两个单词的格式有任何差异

当尝试将此文本复制并粘贴到ckeditor中时,“Hello”的字体系列正确地保留为Calibri,但中“to”一词的字体系列错误地更改为Arial。我不明白为什么它不保留“to”文本的字体系列

这是我的config.js:

CKEDITOR.editorConfig = function( config ) {    
    config.pasteFromWordRemoveStyles = false;
    config.pasteFromWordRemoveFontStyles = false;
};
以下是粘贴文本时ckeditor中的源HTML:

<p><span style="font-size:10pt"><span style="font-family:calibri">Hello </span>to</span></p>
您好

word文档可从以下链接下载:


使用IE 11可以明显看出上述行为。请有人帮一下忙好吗?

IMHO,下面稍作修改即可

config.forcePasteAsPlainText = false;
config.pasteFromWordRemoveFontStyles = false;
config.pasteFromWordRemoveStyles = false;
config.allowedContent = true;
config.extraAllowedContent = 'p(mso*,Normal)';
config.pasteFilter = null;

这肯定管用

CKEDITOR.config.forcePasteAsPlainText = false;
CKEDITOR.config.pasteFromWordRemoveFontStyles = false;
CKEDITOR.config.pasteFromWordRemoveStyles = false;
CKEDITOR.config.allowedContent = true;
CKEDITOR.config.extraAllowedContent = 'p(mso*,Normal)';
CKEDITOR.config.pasteFilter = null;

谢谢

我假设您已通过突出显示Word中的单词并将字体系列设置为Calibri?@robabby否来明确设置字体系列。这是来自我们客户提供的一个预先存在的Word文档。如果我创建了一个新的word文档,并通过突出显示单词将字体系列设置为Calibri,那么问题就不会发生。这个问题也可以通过使用clear all formatting功能来解决,然后重新应用它,但我不能期望我们的客户在他们的所有文档上重新应用格式。理想情况下,我需要确定这些特定word文档的问题是什么,这些文档会阻止其内容被正确复制/粘贴到ckeditor中。在我的工作中,我们也遇到了类似的客户问题,我们在ckeditor实例中使用word导入。这些是一次性情况,应记录在案,以便客户在导入前了解正确的步骤。至少,我们将这样处理这些问题。如果CKEditor按设计工作,并且当文本格式正确时,它按设计工作,那么您就不需要做其他事情了。在代码中应该考虑多少排列?从CKEditor的角度来看,MSWord在粘贴到浏览器中时生成的HTML是非常糟糕的,而且常常是不正确的。我肯定CKEditor也有一些bug,但有时它对给定的内容也无能为力。如果你有任何疑问,你可以在上报到,我们会检查隧道里是否有灯。谢谢你们的回答。我已经在ckeditor网站上提交了一张票证。