如何关闭视觉辅助打印?

TinyMCE - How can I turn off Visual Aids for printing?

本文关键字:打印 何关闭 视觉      更新时间:2023-09-26

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

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

所以…我决定亲自调查这个问题!

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

下面的修复适用于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"})});

我希望这篇文章能帮助那些在这个问题上挣扎的人。