好的,我开发了一个不错的 tinymce 解决方案,我通过 js 以编程方式创建和销毁所有 tinymce 实例 - 所以,我知道这可能不是 tinymce 实现的日常使用 - 但基本上它就像一个魅力。
现在,在我给你具体的示例代码之前 - 我将解释我的奇怪问题:我的一个朋友是我制作的在线工具的超级用户,他在白天创建/销毁数百个 tinymce 实例。 ..
有时,在工作数小时后,他的行为是,当他点击“编辑”按钮时,tinymce 不会出现。我从来没有成功过,我自己重现了它 - 但是有一天,在一个团队查看器会话中,当错误已经发生时,我能够查看他的屏幕和页面(使用萤火虫)。
所以,很糟糕,我无法通过 javascript 代码进行完整的调试(因为在这种情况下,当你按一次 f5 时,错误就会消失,并且需要几个小时才能再次得到它)-> 我意识到, ,当错误发生时-> tinyMCE-object 本身的一切似乎都正常-> DOM 渲染中的一切似乎都还好-> 但是,从一些奇怪的 css-import-file 中,突然出现了这样的定义:
html.uvw-dialog-open object, html.uvw-dialog-open iframe, html.uvw-dialog-open embed {
visibility: hidden;
}
这导致tinymce的主面板不会显示,并且tinymce的任何内容都不再可见.. 杀死和重新创建实例此时不会修复该错误,您必须按 f5 并在重新加载后,您甚至再次找不到这个 css 定义(或者,至少,我无法通过 teamviewer 和他那破烂的小型笔记本电脑)
所以,唯一想到的是我自己的 css 中的一个丑陋的 hack,告诉这个:
html.uvw-dialog-open object, html.uvw-dialog-open iframe, html.uvw-dialog-open embed {
visibility: visible !important;
}
而且,从那以后……已经好几个星期了->但是今天,我的朋友再次打电话给我,告诉我,他再也看不到tinymce了……我几乎要流泪了,您可以想象:D
好的..在编写和重新阅读所有这些行之后->我意识到我的修复不起作用...两者都是相同的定义,如果它们出现在同一级别(文件,而不是内联)..可能最后- match-wins 我猜,什么是新的、延迟加载的 tinymce 文件。所以它肯定会更好,使内联可见性:可见;在tinymce的init_instance_callback ...
但是,在我绝望的情况下,我想我会在 stackoverflow 上写下所有内容 -> 也许有人知道这个问题的真正原因,而且.. 你们是我所知道的最棒的开发人员:D