我最近将 TinyMCE 4.0b2 添加到我一直在开发的 Web 应用程序中。
我需要打开视觉辅助工具进行编辑,但在打印时关闭,并且花了相当多的时间通过他们的论坛、StackOverflow 和谷歌寻找解决方案,但无济于事!
我最近将 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"})});
我希望这对将来在这个问题上苦苦挣扎的人有所帮助。