這個 CKeditor 有些地方實在是超乎我的想像,他做到了一些並不是編輯器迫切需要的功能,舉例來說,他可以控制 DOM
元件。也許你會覺得,我在編輯器裡面可以控制 DOM 元件並不是什麼壞事,偏偏,他控制的是編輯器以外的 DOM 元件。
當我在測試 Event 的時候,發現這個東西並不只有一種,換句話說,他的 Event 控制分成兩組,一組是自訂的監聽與觸發(類似 ActionScript
那樣),另一組是針對 DOM 元件的特定 events 作觸發(
接續 上一篇 [https://blog.hinablue.me/entry/JS-tech-CKeditor-part-1/]
所提到的基本與完整模式,後來我在測試其他的程式碼的時後發現,所謂的基本(basic)模式,的確是很簡單的五個 JavaScript
檔案就可以做到,但是相對的,犧牲掉的部分卻比我想像中的還要多很多。而最令我震驚的部分是,在基本模式中,呼叫編輯器的 CKEDITOR 的其中一支
prototype: instances 會全數失效,所帶來的後果就是,編輯器本身會完全無法控制(所以才叫做 basic 嗎)?
所以,基本上想要客製化這個編輯器,
如果有聽過 FCKeditor 的人,那我想 CKeditor [http://ckeditor.com/]
就一定要換上來用。雖然是同一家公司出品的編輯器,但是用了這麼久的 FCKeditor,我對於他的 API 頁面
[http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/JavaScript_API]
少成這樣實在有點頭痛,講好聽一點有四頁(驚),講難聽一點只有一頁。自從 CKeditor 推出之後,
r2 = b2 + (r-a)2
r2 = b2 + r2 -2ar+r2
r = b2/ 2a
求得第三點 D3 的座標值 (ex, r),上圖綠色的線代表書本上緣的邊界值,所以 r 值其實已經超出了邊界值(r > ey),所以必須要再次計算翻頁出來的真正
D3 的位置。由直角三角形比例線段求得點 D3 對於邊界值的距離 z。
r/c = t/
> r2 = (2c)2 + (b-r)2
r2 = 4c2 + b2 -2br+r2
r = 4c2/2b + b/2
r = ((2a)2 -b2 )/2b + b/2
r = 2a2/ b
故在滑鼠任意點 (x,y) 與已知點 (fx,fy) 可求得底邊點 (r,