您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Améliore le fonctionnement de Jurisquare (www.jurisquare.be)
// ==UserScript== // @name Jurisquare GM Script // @version 2.4.1 // @namespace RJ // @author Rafael Jafferali // @description Améliore le fonctionnement de Jurisquare (www.jurisquare.be) // @include http://www.jurisquare.be* // @run-at document-end // ==/UserScript== debugger; var PDF_ICON = "data:image/gif; base64," + "R0lGODlhEAAQAPcAAFoAAGMAAHMYGG6Ov3KQv3KRv3aTvXqVu3uVvH6XulWAyFmBxliCxV2ExF6E" + "xGGIw2KJw2WKwmeLwWmMwWyOwIwACJQAAJwhIa0ACLUAAL05OZxCQr1KSr1SWsYAAM4ICM4QENYY" + "GM4pMd45OecIEPcQEPcYGO85OfcpKf8xOc5KSt5KStZja+dKSu9CSu9KSudaWu9SUu9SWudaY+dz" + "c+97e/9zc/8A/4KavIWdvoigwIuiwoyiwo+lxJGnxpKoxpWryJesyZmtypywzJ2xzaO20am71Ky+" + "1q/A2LPD2t6EhN61veeMjO+cnO+trdLi+tTj+tbk+tfl+9nm+9vn+9zo+97p++/W1ufv9+Dq/OHs" + "/OPt/OXu/Obv/Ojw/erx/evy/e3z/e/0/fD2/vL3/vT4/vX5/vf6/vn7/////xQCgBQCQBLtDNdN" + "rxQCgBEGqNdN4xQCgBLtFAAAAJEFyCJ8mBLt4JEFURQHqJEFbRLuOAAAABLtPAAAAJEFyFWi2BLu" + "CJEFURQHSBLtWAAAAJEFyFWi2BLuJJEFURQHSJEFbRLuaAAABAAAAOaERAAAAgAABAAAMAAAACJ8" + "oNSLsf3QAAAAMAAABBQAABLrmJD7bAAAIAAAAFWi4BLuOAAAAAAAIADwqgAAIAAAAAAAAJDnvJDV" + "hhLuCJD7bJD7cZDVhpDnvBQAABLt5JDnyBLujJDuGJD7eAH//wAABBLtaAAAABLujJDuGJEFcP//" + "/5EFbZEJvBQAAAAAAFWi4BLuSJEJklWi4AAAABLunN3tDt3tIGKmyAACvGKm1AAAAAAAAAAAAAAA" + "AAAAABLuaBLu7BSjUBSjUBLuoOb8I8OlLsYaoBLu2MLCzQAABMLC4xSo8BSjUAAAAxSgLcXS4BSg" + "ABLu1BLupP///xLvQMNclMEgcP///8LC40SV1RSjUGMboGMboEUEtRQAABSo8KR+UAAAAAAAAOqG" + "1OqG1OqG1OqG1AACXBLvJN1sdBLvLKR+UKR+UObgowAACeaCsAAABCH5BAEAADcALAAAAAAQABAA" + "AAjcAG8ITGKkCJEgPnbkSJBAoMMbSNCcMVOGzBgxCdI0fHhkYsWLYTJqvNGBgwYVM2DIgOFCBBiR" + "Gm28SIHChIkSJkhg+MKw54kQIEB4+OABQ4YKXrpw2aIlgYUAAARsmLrhwgalTLNsvDFETBgwX1Zg" + "1ZLFygGHQr5+uTKiSVYrVQw4BALWSw0sTJyUrUKFgMMfX7xcaeHEyYoWMZRMoeCwR1IYS8jCXcJC" + "igSHPLrMYCKZ7xQpUSA41EGDRmcqn6NAceAwx1vPoKE8WeAQBwIEBgoMmBDhQQMGChQEBAA7"; var MOIS = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"]; var RG_counter = 0; // Taken from http://wiki.greasespot.net/Content_Script_Injection function InjectScript(source) { // Check for function input. if ('function' == typeof source) { // Execute this function with no arguments, by adding parentheses. // One set around the function, required for valid syntax, and a // second empty set calls the surrounded function. source = '(' + source + ')();' } // Create a script node holding this source code. var script = document.createElement('script'); script.setAttribute("type", "application/javascript"); script.textContent = source; // Insert the script node into the page, so it will run, and immediately // remove it to clean up. document.body.appendChild(script); document.body.removeChild(script); } function DefaultLibrarySearch() { InjectScript(function(){ var LS = new LibrarySearch; LS.request.searchInOwnAssets = true; LS.request.order = "alpha"; LS.pushState(); location.reload(); }); } function ProcessResults(e) { try {var r = e.target.querySelector("h5") || e.target.querySelector("h1");} catch(err) {} if (r && r.querySelector("a") && r.querySelector("a").href) { var a = r.querySelector("a"); var el = document.createElement("a"); el.href = a.href.replace(/index\.html.*/, "document.pdf"); el.target = "_blank"; var img = document.createElement("img"); img.src = PDF_ICON; img.style.paddingRight = "5px"; el.appendChild(img); r.insertBefore(el, a); // Pasicrisie if (location.href.match(/pasicrisie/) && ( document.querySelector("div.filterlist a") || ( document.querySelector("span#resultCount") && document.querySelector("span#resultCount").textContent == "1" ) ) ) { // Filterlist vise à s'assurer que les filtres d'année ont déjà été appliqués, ou seulement un résultat if (document.querySelector("input.searchfield").value.match(/"\s\d+/)) { // Recherche par numéro à la Pasicrisie var num = document.querySelector("input.searchfield").value.match(/"\s\d+/).toString().match(/\d+/); if (a.innerText.search(num) >= 0) { location.href = el.href; } } else if (document.querySelector("input.searchfield").value.match(/"\s\w\.\d{2}\.\d{4}\.\w/)) { // Recherche par numéro de rôle if (window.self === window.top) { location.href = el.href; } else { window.top.postMessage(el.href, "http://jure.juridat.just.fgov.be/"); } } GM_xmlhttpRequest({ // affichage des résumés method: "GET", url: a.href, onload: function(response) { var summary = response.responseText.match(/Résumé<\/p>[\s\S]*?<\/p>/).toString().match(/<p>[\s\S]+/).toString().replace(/<.?p>/g,"").replace(/^\s+|\s+$/g,"").replace(/\s\s*/g," "); r.nextElementSibling.innerText += "\n" + summary; } }); } } } function addPasicrisieSearch() { var btn = document.createElement("input"); btn.style.cssText = window.getComputedStyle(document.querySelector("input.searchbutton")).cssText; btn.type="submit"; btn.value="Pasicrisie"; if (!location.href.match(/content|library/)) { document.querySelector("input.searchfield").style.width = "403px"; } document.querySelector("div.searchform").insertBefore(btn, document.querySelector("div.searchform div")); btn.addEventListener("click", function(){ var d = document.querySelector("input.searchfield").value.replace(/\//g, "-"); if (!location.href.match(/pasicrisie/)) { location.href = "http://www.jurisquare.be/fr/journal/pasicrisie/index.html#date" + d; } else { location.hash = "#date" + d; location.reload(); } }, false); } function PasicrisieSearch() { // If called with the Pasicrisie button, fill in search field if (location.hash && location.hash.match(/date/)) { // Run search var d = location.hash.slice(5).split("-"); var val = '"' + d[0].replace(/0(?=\d)/, "") + ( (d[0] == 1) ? "er" : "" ) + " " + MOIS[d[1].replace(/0(?=\d)/, "") - 1] + " " + d[2] + '"'; if (d[3]) { val += " " + d[3]; } document.querySelector("input.searchfield").value = val; document.querySelector("input.searchbutton").click(); } // If search is run with judgement date, select the year of the judgement as a filter if (!document.querySelector(".selected")) { var d = document.querySelector("input.searchfield").value.match(/"\d.+\s\d{4}"/); if (d) { function selectFilter(e) { if (e.target.querySelector("a").title == y) { e.target.querySelector("a").click(); document.querySelectorAll("div.filterbox")[1].removeEventListener("DOMNodeInserted", selectFilter, false); } } // Set new filter var y = d.toString().match(/\d{4}/).toString(); document.querySelectorAll("div.filterbox")[1].addEventListener("DOMNodeInserted", selectFilter, false); } } } function ShowDocOnly() { if (document.getElementById("the_canvas")) { var a = document.createElement("a"); a.className = "greybutton"; a.innerText = "Reading Mode"; document.querySelector("div.detailhead").insertBefore(a, document.querySelector("a.back")); a.addEventListener("click", function() { document.body.removeChild(document.getElementById("headGutter")); document.querySelector("div.container_12").removeChild(document.querySelector("div.detailhead")); if (document.getElementById("sliderHolder")) {document.querySelector("div.container_12").removeChild(document.getElementById("sliderHolder"));} document.body.removeChild(document.getElementById("footGutter")); document.querySelector("div.container_12").style.marginLeft = 0; }, false); } } // MAIN if ( (window.self !== window.top) && (location.href == "http://www.jurisquare.be/fr/index.html")) { if (document.querySelector("input.button") && document.querySelector("input.button").value.match("log in")) { window.top.postMessage("LoginRequired", "http://jure.juridat.just.fgov.be/"); } else { window.top.postMessage("LoginOkay", "http://jure.juridat.just.fgov.be/"); } } if (location.href == "http://www.jurisquare.be/fr/library/index.html") { DefaultLibrarySearch(); } if (document.querySelector("input.searchbutton") && document.querySelector("input.searchfield")) { addPasicrisieSearch(); } if (document.getElementById("results")) { document.getElementById("results").addEventListener("DOMNodeInserted", ProcessResults, false); } if (location.href.match(/pasicrisie/)) { PasicrisieSearch(); } ShowDocOnly();