好的,我已经开发了一个很好的tinymce解决方案,我通过js以编程方式创建和销毁所有的tinymce实例 - 所以,我知道它可能不是每天使用的一个实现 - 但基本上它的工作原理魅力。
现在,在我给你具体的示例代码之前 - 我将解释我的奇怪问题:我的一个朋友是我制作的在线工具的极端强力用户,他正在创建/销毁tinymce实例的hundrets那天...
有时候,经过几个小时的工作后,他会有这样的行为,当他点击“编辑”按钮时,这种行为就不会显示出来。我从来没有成功,我自己重现 - 但有一天,在团队观察会议中,当错误已经发生时,我能够看到他的屏幕和页面(用萤火虫)。
所以,严重的是我无法通过javascript代码进行全面调试(因为当你在这种情况下点击一次f5时,错误就会消失,并且还需要几个小时才能再次获得它) - >我意识到,当错误发生时 - > tinyMCE对象本身的一切似乎都没问题 - > DOM渲染中的所有内容似乎都可以 - >但是,从一些奇怪的css-import文件中,突然出现了这样的定义:
html.uvw-dialog-open object, html.uvw-dialog-open iframe, html.uvw-dialog-open embed {
visibility: hidden;
}
这是导致该TinyMCE的的主面板将会显示并没有什么TinyMCE的是可见的了..实例的屠杀和再创造也不会修复了这个时刻,你必须按F5和重装后,你甚至再也找不到这个css-definition(或者,至少,我不能超过teamviewer和他的小巧,小巧的笔记本电脑)
所以,唯一想到的就是我自己的CSS中的丑陋黑客,告诉我:
html.uvw-dialog-open object, html.uvw-dialog-open iframe, html.uvw-dialog-open embed {
visibility: visible !important;
}
而且,从那以后......它已经持续数周了 - >但是今天,我的朋友再次打电话给我,告诉我,他再也看不见了。我几乎要流泪了,你可以想象:D
好的..在写完并重新阅读所有这些行之后 - >我意识到我的修复程序不起作用......两者都是相同的定义,如果它们出现在同一级别(文件,而不是内联)..可能是最后匹配 - 我猜是什么,新的,懒惰加载tinymce-file ..所以它肯定会更好,使内联可见性:可见;通过tinymce的init_instance_callback ......
但是,在我的绝望中,我以为我会在stackoverflow上写下所有内容 - >也许有人知道这个问题的真正原因......你们是我知道的最棒的开发者:D
答案 0 :(得分:2)
Jebbie,
思考不仅仅是一个明确的答案......
由于长寿命页面中的大量javascript / DOM活动,听起来像是内存泄漏问题。
您可能没有做错任何事情,并且您不太可能追查实际原因,但是您可以采取某些措施:
很多工作而且没有保证我没有。