diff --git a/LER.js b/LER.js index c40e1aa..67ffb53 100644 --- a/LER.js +++ b/LER.js @@ -250,9 +250,9 @@ LER = function(){ node.setAttribute('target', '_blank'); var href = "http://law.moj.gov.tw/LawClass/Law"; if(/[,-]/.test(SNo)) href += "SearchNo.aspx?PC=" + law.PCode + "&SNo=" + SNo; ///< 多條 - else if(!law.lyID) href += "Single.aspx?Pcode=" + law.PCode + "&FLNO=" + SNo; ///< 單條 + else if(!law.lyID || law.name == '民法') href += "Single.aspx?Pcode=" + law.PCode + "&FLNO=" + SNo; ///< 單條 else { - //http://lis.ly.gov.tw/lghtml/lawstat/relarti/01183/01183009101.htm + /// 連向立法院法律系統的「相關條文」 href = "http://lis.ly.gov.tw/lghtml/lawstat/relarti/" + law.lyID + "/" + law.lyID; href += zeroFill(num1, 4) + zeroFill(num2 ? num2 : 0, 2) + ".htm"; } @@ -375,7 +375,6 @@ LER = function(){ pattern = pattern.replace(/%number%/g, '[\\d零0一二三四五六七八九十百千]+'); pattern = new RegExp(pattern, 'g'); var replace = function(match, inSpecial) { - console.log(match); var year = parseInt(match[1]); var num = parseInt(match[4]); diff --git a/README.md b/README.md index e162a52..d105130 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Google瀏覽器外掛,可於瀏覽網站時: * 將法規名稱加上連往[全國法規資料庫](http://law.moj.gov.tw/)看該法規全文的網頁連結 * 將單一法條連向[立法院法律系統](http://lis.ly.gov.tw/lgcgi/lglaw)該條文與相關條文 * 將多個法條連向[全國法規資料庫](http://law.moj.gov.tw/)看該些條文 -* 亦能運作於[零時政府立法院](http://ly.g0v.tw.jit.su/)、[評律網](http://www.pingluweb.com/)等以AJAX機制更新的內容(但需手動觸發)。 +* 亦能運作於[零時政府立法院](http://ly.g0v.tw.jit.su/)、[評律網](http://www.pingluweb.com/)等以AJAX機制更新的內容(需點選網址列的按鈕)。 * 提到大法官解釋時,即連向該號解釋的官方網頁。 * 將下列網站稍做排版,使易於閱讀: * [大法官解釋](http://www.judicial.gov.tw/constitutionalcourt/p03.asp) @@ -17,8 +17,11 @@ Google瀏覽器外掛,可於瀏覽網站時: 警告:部落客於編輯網誌時,請暫時關閉本外掛。 ## Examples +* 大法官解釋([範例網頁連結](http://www.judicial.gov.tw/constitutionalcourt/p03_01.asp?expno=617)) +![Judicial Interpretation](http://images.plurk.com/kAGZ-22KieXBnFHCtsKe8DBiD8u.jpg) +* 立法院法律系統([範例網頁連結](http://lis.ly.gov.tw/lghtml/lawstat/reason2/01183100110400.htm)) ![Legislative Yuan](http://images.plurk.com/kAGZ-5bvO4HGPifAXwkDU9CAs3y.jpg) -![Judicial Interpretation](http://images.plurk.com/kAGZ-5vXMDaSEAUQCW51VJ06k3Z.jpg) +* 全國法規資料庫([範例網頁連結](http://law.moj.gov.tw/LawClass/LawSearchNo.aspx?PC=B0000001&SNo=1079.4,1079.5)) ![Laws & Regulations Database](http://images.plurk.com/kAGZ-1V1k4UwBowvUXGaOQ0DF6R.jpg) # Installation @@ -31,6 +34,7 @@ Google瀏覽器外掛,可於瀏覽網站時: * 網址列右邊出現「§#」圖示的話就是成功了,按該圖示會有一些連結。 * 解壓縮出來的資料夾與檔案不要刪掉。 * 試試在[全國法規資料庫](http://law.moj.gov.tw/)中搜尋一些法規,例如[個人資料保護法](http://law.moj.gov.tw/LawClass/LawAll.aspx?PCode=I0050021) +* 瀏覽動態讀取的網頁(如Facebook、噗浪)時,可能須手動按右上角的「§#」圖示再按「轉換這個網頁」才會作用。 警告:部落客於編輯網誌時,請暫時關閉本外掛。 diff --git a/auto.js b/auto.js index bb7956f..553002d 100644 --- a/auto.js +++ b/auto.js @@ -1,37 +1,45 @@ -if(typeof LER == "object") (function(){ - if(LER.autoParse instanceof Element) { - LER.parse(LER.autoParse); - LER.debugTime("parsed all"); - } - - /** 加上懸浮按鈕 - * 加在沒有frame,或是最左下角的frame裡頭(不理iFrame) - * 以下程式碼先判斷「『這個』是不是top左下角的那個frame」 - */ - var target; - if(top.document && top.document.domain == document.domain) { - var fs; - if(fs = top.document.getElementsByTagName("FRAMESET")[0]) { - var rows = fs.rows ? fs.rows.split(",").length : 1; - var cols = fs.cols ? fs.cols.split(",").length : 1; - target = fs.getElementsByTagName("FRAME")[(rows-1)*cols].contentWindow; - } - } - if(document.location.protocol != "file:" - && ( - (window == top && !document.getElementsByTagName("FRAMESET").length) - || window == target - ) - ) { - console.log("fixed label"); - var fixed = document.createElement("DIV"); - var defaultText = "法令\n亦毒氣"; - fixed.appendChild(document.createTextNode(defaultText)); - fixed.setAttribute("title", "按下以再次分析/處理網頁內容\n(我知道這按鈕很像廣告,\n有請高手教我如何從 contextMenu 或 browserAction 存取網頁內容…)"); - fixed.onclick = function(){LER.parse(document.body); LER.debugTime("parse again");}; - fixed.onmouseover = function(){this.innerText = "按下\n以轉換";}; - fixed.onmouseout = function(){this.innerText = defaultText;}; - fixed.className = "LER-fixed"; - document.body.appendChild(fixed); - } +if(typeof LER == "object") (function(){ + if(LER.autoParse instanceof Element) { + LER.parse(LER.autoParse); + LER.debugTime("parsed all"); + } + + chrome.runtime.onMessage.addListener( + function(request, sender, sendResponse) { + if (request.greeting == "hello") { + LER.parse(document.body); + } + } + ); + + /** 加上懸浮按鈕--之前觸發不成功時用的 + * 加在沒有frame,或是最左下角的frame裡頭(不理iFrame) + * 以下程式碼先判斷「『這個』是不是top左下角的那個frame」 + */ + /*var target; + if(top.document && top.document.domain == document.domain) { + var fs; + if(fs = top.document.getElementsByTagName("FRAMESET")[0]) { + var rows = fs.rows ? fs.rows.split(",").length : 1; + var cols = fs.cols ? fs.cols.split(",").length : 1; + target = fs.getElementsByTagName("FRAME")[(rows-1)*cols].contentWindow; + } + } + if(document.location.protocol != "file:" + && ( + (window == top && !document.getElementsByTagName("FRAMESET").length) + || window == target + ) + ) { + //console.log("fixed label"); + var fixed = document.createElement("DIV"); + var defaultText = "法令\n亦毒氣"; + fixed.appendChild(document.createTextNode(defaultText)); + fixed.setAttribute("title", "按下以再次分析/處理網頁內容\n(我知道這按鈕很像廣告,\n有請高手教我如何從 contextMenu 或 browserAction 存取網頁內容…)"); + fixed.onclick = function(){LER.parse(document.body); LER.debugTime("parse again");}; + fixed.onmouseover = function(){this.innerText = "按下\n以轉換";}; + fixed.onmouseout = function(){this.innerText = defaultText;}; + fixed.className = "LER-fixed"; + document.body.appendChild(fixed); + }*/ })(); \ No newline at end of file diff --git a/ly.lci.js b/ly.lci.js index 4870c71..ae1ecd2 100644 --- a/ly.lci.js +++ b/ly.lci.js @@ -5,7 +5,7 @@ * 原始碼看來是從M$ Word轉過去的 * 目前對會議記錄會跑非常久(可能超過一分鐘) */ -if(document.location.pathname.indexOf("html") > 0) (function() { +if(document.location.href.indexOf("html") > 0) (function() { var ps = document.getElementsByTagName("P"); /// 「立法院議案關係文書」那幾個字本身是用調整大小的,就跳過不處理 for(var i = 4; i < ps.length; ++i) ps[i].innerText = ps[i].innerText; diff --git a/manifest.json b/manifest.json index 810ebcf..9c9989d 100644 --- a/manifest.json +++ b/manifest.json @@ -1,63 +1,63 @@ -{ -"name": "zhLawEasyRead", -"description": "Replace chinese words of sequence number of law articles into arabic or roman numerals.", -"version": "0.3.9.11", -"manifest_version": 2, -"icons" : {"128": "icon.png"}, -"options_page": "options.html", -"browser_action": { - "default_icon": "icon.png", - "default_title": "法令易讀器", - "default_popup": "popup.html" -}, -"content_scripts": [ - { - "matches": [""], - "exclude_matches": [ - "http://law.moj.gov.tw/Eng/*", - "*://drive.google.com/keep*", - "*://docs.google.com/*" - ], - "css": ["main.css"], - "js": [ - "parseInt.js", - "pcodes.js", - "aliases.js", - "lyIDs.js", - "courts.js", - "LER.js" - ], - "all_frames": true - }, - { - "matches": ["http://www.judicial.gov.tw/constitutionalcourt/p03_01.asp*"], - "css": ["constitutionalcourt.css"], - "js": ["constitutionalcourt.js"] - }, - { - "matches": ["http://jirs.judicial.gov.tw/*"], - "css": ["jirs.css"], - "js": ["jirs.js"] - }, - { - "matches": ["http://lis.ly.gov.tw/*"], - "css": ["ly.css"], - "js": ["ly.js"] - }, - { - "matches": ["http://lci.ly.gov.tw/*"], - "js": ["ly.lci.js"] - }, - { - "matches": ["http://law.moj.gov.tw/*"], - "exclude_matches": ["http://law.moj.gov.tw/Eng/*"], - "js": ["moj.js"] - }, - { - "matches": [""], - "js": ["auto.js"], - "run_at": "document_idle", - "all_frames": true - } -] -} +{ +"manifest_version": 2, +"name": "法規亦毒氣", +"description": "將網頁中的法規與條號都轉變成連結,讓您快速查閱指定條文。", +"version": "0.3.10", +"icons" : {"128": "icon.png"}, +"options_page": "options.html", +"browser_action": { + "default_icon": "icon.png", + "default_title": "法規亦毒氣", + "default_popup": "popup.html" +}, +"content_scripts": [ + { + "matches": [""], + "exclude_matches": [ + "http://law.moj.gov.tw/Eng/*", + "*://drive.google.com/keep*", + "*://docs.google.com/*" + ], + "css": ["main.css"], + "js": [ + "parseInt.js", + "pcodes.js", + "aliases.js", + "lyIDs.js", + "courts.js", + "LER.js" + ], + "all_frames": true + }, + { + "matches": ["http://www.judicial.gov.tw/constitutionalcourt/p03_01.asp*"], + "css": ["constitutionalcourt.css"], + "js": ["constitutionalcourt.js"] + }, + { + "matches": ["http://jirs.judicial.gov.tw/*"], + "css": ["jirs.css"], + "js": ["jirs.js"] + }, + { + "matches": ["http://lis.ly.gov.tw/*"], + "css": ["ly.css"], + "js": ["ly.js"] + }, + { + "matches": ["http://lci.ly.gov.tw/*"], + "js": ["ly.lci.js"] + }, + { + "matches": ["http://law.moj.gov.tw/*"], + "exclude_matches": ["http://law.moj.gov.tw/Eng/*"], + "js": ["moj.js"] + }, + { + "matches": [""], + "js": ["auto.js"], + "run_at": "document_idle", + "all_frames": true + } +] +} diff --git a/popup.html b/popup.html index 5f4c9ba..e842b9c 100644 --- a/popup.html +++ b/popup.html @@ -8,6 +8,7 @@
    +
  • [法務部]全國法規資料庫
    diff --git a/popup.js b/popup.js index e69de29..3666988 100644 --- a/popup.js +++ b/popup.js @@ -0,0 +1,11 @@ +document.addEventListener("DOMContentLoaded", function() { + console.log("DOMContentLoaded"); + document.getElementsByTagName("BUTTON")[0].onclick = function() { + chrome.tabs.getSelected(null, function(tab) { + console.log("button clicked on tab " + tab.id); + chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(response) { + console.log(response); + }); + }); + }; +}); \ No newline at end of file