LifeType 修改讓 TinyMCE 吃某些 HTML Tag 的參數

LifeType 目前的版本是使用 TinyMCE 來當 HTML(WYSWYG) Editor, 這套很聰明也蠻標準的, 但是太過聰明有時後反而有點被綁住了.

為何要修改讓 TinyMCE 吃某些 HTML Tag

有些 Widget/Badge 的寫法是 <script src="oox" class="abc"></script>, 但是裡面的 class="abc" 會被 TinyMCE 給濾掉, 造成此 Widget 嵌入會出問題, 所以要想辦法讓 TinyMCE 開放 script 裡面的 class 屬性(避免 script 的 class 屬性被濾掉).

註: 之前 Ruby on Rails 系列的文章, 想要透過 wowTree 來做整理做相關文章(這樣子就不用每增加一篇文章, 要回頭改前面所有文章的 "相關文章" 區塊, 只需要在 wowTree 加即可), 就是遇到這個狀況.

修改完成並可嵌入 Ruby on Rails 的整理如下:

修改方式

修改讓 TinyMCE 能吃 script 的 class 屬性的方法如下: (假設 LifeType 的目錄在 /var/www/lifetype)

  1. vim /var/www/lifetype/js/tinymce/tiny_mce-plog.js
  2. 找到第 213 行的: +"script[charset|defer|language|src|type],"
  3. 加上 |class 即可, 213 行會變成這樣: +"script[charset|defer|language|src|type|class],"
  4. 存檔即可.

不過, 改完的同時, wowTree 也已經不需要 script 的 class 屬性了.. Orz.. (就是上述不用改, 一樣可以嵌入使用), 防止有其它的類似的狀況, 還是於此做個紀錄.

LifeType tiny_mce-plog.js 發現

另外一個發現是, tiny_mce-plog.js 包含所有 HTML 的 Tag 允許哪些屬性的列表, 是相當實用的寶庫呀~ 😛

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料