1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
zhLawEasyRead 0.2.0
下載:https://docs.google.com/open?id=0B7xXOygYUVM6OUdEaE9IRThGanc
例示:http://images.plurk.com/c27a95275c55a8ccc4f8e39704df1875.jpg

功能:
一、自動轉換條號、卷期等。
如「民法第一千零七十六條之一第一項第二款」將變為「民法§1076-1 I(2)」;
如「立法院公報第八十卷第二十二期第一0七頁」將變為「立法院公報vol. 80, no. 22, p.107」。
另外如條文中的「前條第一項第三款至第六款」則會變為「前條 I(3)至(6)」

二、將滑鼠移置被轉換後的文字,即會顯示原本的文字。
但如為可編輯之純文字框,如<textarea />,即無此效果。

三、將憲法與大法官釋字加上連結
除非原本即已是連結。


使用限制與臭蟲:
一、限Google瀏覽器,Chrome 18版或更新為佳。
二、互動式網頁如Gmail、Facebook和Plurk的幾乎無效果。
三、法規若有分章節款目,其中「款」與「目」亦會被轉換。
四、數個釋字或憲法條文並列時,僅有第一個會被轉換為連結。
五、以換行字元強制換行的排版網頁(如「全國法規資料庫」及司法院的裁判書查詢)中,可能會將數行併成過長的一行。
六、以<br />強制換行的字串尚不會被偵測到。


其他使用說明:
一、為方便複製至純文字編輯器如「記事本」,羅馬數字以英文組合而不以內碼表的符號顯示。「款」的圈圈數字亦同。
二、大陸地區與聯合國文件中,「項」與「款」的順序與台灣地區相反,但本外掛沒有考量此部分。



開發說明:

Google說「需支付一次性的開發人員註冊費 US$5.00」,所以我(還)沒有放在「Chrome 線上應用程式商店」。

原本是以字串取代的方式去改變document.body.innerHTML(之前的0.1.8版即是如此),但發現有三個難處:
一、有(類似)onLoad function的網頁(如「全國法規資料庫」的首頁)即會無後續動作。
二、不知道要怎麼樣避開HTML tag的屬性中的字串。(如各釋字專頁)。
三、不知道怎麼偵測「是否已在<a />中」。
所以後來就改成用遞迴方式跑過整個HTML的DOM tree,抓出textNode來處理,但是這樣又會變成勢必得用document.createElement和appendChild等DOM方法,而不能用innerHTML。
因為可能有多個規則,所以每次遇到一個textNode,處理概念如下:
準備: [text]
經過第一個規則: [text1_1, element1_1, text1_2, element1_2, text1_3]
經過第二個規則: [text1_1, element1_1, text2_1, element2_1, text2_2, element1_2, text1_3]
最後則用新的node array代換掉原本的textNode。