TinyMCE - 如何关闭可视辅助工具进行打印?

时间:2013-05-12 16:18:01

标签: javascript plugins printing tinymce

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

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

1 个答案:

答案 0 :(得分: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"})});

我希望将来可以帮助有人解决这个问题。