好吧,我開發了一個很好的tinymce解決方案,我通過js編程創建並銷燬所有的tinymce-instances - 所以,我知道它可能不是日常用法一個tinymce實現 - 但基本上它就像一個魅力。TinyMCE仍然隱藏(uvw-dialog-open)
現在,在我給你具體示例代碼之前 - 我會解釋我的一個奇怪的問題:我的一個朋友是我製作的在線工具的一個超級用戶,他正在創建/銷燬tinymce-instances的hundrets在白天...
有時,經過數小時的工作,他有這樣的行爲,當他點擊「編輯」按鈕時,tinymce不會顯示出來。我從來沒有做過,只能自己複製 - 但有一天,在一次團隊查看會話中,當錯誤已經發生時,我可以看看他的屏幕和頁面(與螢火蟲)。
所以,很糟糕的是我無法通過javascript代碼進行完整的調試(因爲當您在這種情況下點擊f5一次時,錯誤消失,並且需要其他幾個小時才能重新獲得) - >我意識到,當錯誤發生時 - > tinyMCE-對象本身中的所有東西看起來都不錯 - > 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-definition(或者至少我沒有能夠通過teamviewer和他的低劣的小筆記本電腦)
所以,唯一想到的是在我自己的css中的一個醜陋的黑客攻擊,講述這件事:
html.uvw-dialog-open object, html.uvw-dialog-open iframe, html.uvw-dialog-open embed {
visibility: visible !important;
}
,從那時起......這是很多人會爲周 - >但是今天,我的朋友再次打電話給我,告訴我,他不能看到TinyMCE的再次..我幾乎在淚水中,你可以想象:D
好吧..寫完後,重新閱讀所有這些行 - >我意識到我的修復不會工作......兩者是相同的定義,如果它們出現在相同的級別(文件,而不是inlin e)..可能是最後一場比賽贏了,我想,什麼是最新的懶惰加載tinymce文件..所以它將明確更好,使內聯可見性:可見;通過tinymce的init_instance_callback ...
但是,在我的絕望中,我以爲我會在這裏寫下所有的東西在stackoverflow - >也許有人知道這個問題的真正原因,並且..你們是最令人敬畏的開發者在那裏,我知道:d
不錯,非常感謝分享你的想法 - 第一點是一個很好的論點..直到現在我從未想過重新使用我的實例,我想..當它是一個內存泄漏,我想你是對的,這種方法將是避免它的最好方法..第二點,我想我不明白你的實際意思:D - >目前我做了一個討厭的黑客;在init_instance_callback中,我將添加一個內聯的「visibility:visible」,延遲100ms,所以這應該在當時的文件導入中肯定覆蓋「錯誤的」css – jebbie
Jebbie,第二點改寫爲...採取措施減少頁面的使用壽命,例如,每隔(比方說)30次用戶交互或每隔(比如說)15分鐘後第一次交互,安排javascript刷新頁面。本身就很簡單,但是你需要確保在刷新的頁面中重新創建了DOM的當前狀態(顯示什麼和不顯示什麼)以及javascript環境(變量,對象和閉包)。除非有人知道簡單可靠的技術,否則頁面狀態的娛樂可能會相當複雜。 –