1

我最近将 TinyMCE 4.0b2 添加到我一直在开发的 Web 应用程序中。

我需要打开视觉辅助工具进行编辑,但在打印时关闭,并且花了相当多的时间通过他们的论坛、StackOverflow 和谷歌寻找解决方案,但无济于事!

4

1 回答 1

1

所以......我决定自己调查这个问题!

为了让它工作,我必须手动“调整”打印插件的打印命令。

以下修复适用于 TinyMCE v.4.0b2,在撰写本文时可用的版本;它可能适用于也可能不适用于以前和未来版本的 TinyMCE。

打印插件文件可以在 js/tinymce/plugin/print/ 目录中找到。

在您喜欢的编辑器中打开 plugin.min.js 文件,您将看到如下内容:

tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print();}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Ctrl+P",context:"file"})});

在查看 tinymce 源代码后,我找到了hasVisual编辑器属性和mceToggleVisualAid命令。然后我将这两个添加到打印插件中

if(e.hasVisual){e.execCommand("mceToggleVisualAid");}

就在代码调用之前

e.getWin().print();

成品看起来像这样:

tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){if(e.hasVisual){e.execCommand("mceToggleVisualAid");} e.getWin().print();}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Ctrl+P",context:"file"})});

我希望这对将来在这个问题上苦苦挣扎的人有所帮助。

于 2013-05-12T16:18:01.437 回答