您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sends closure request from Wegstatus to Slack.
// ==UserScript== // @name Wegstatus 2 Slack // @namespace https://wegstatus.nl // @version 2020.06.08.2 // @description Sends closure request from Wegstatus to Slack. // @author Sjors "GigaaG" Luyckx // @match https://www.wegstatus.nl/roadworknl/*/ // ==/UserScript== (function() { function getElementByXpath(path) { return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.data; } function sendSlack(rank, plaatsnaam, straatnaam, periode, permalink, wslink, username, bron, bronurl){ var datastring = {"rank": rank , "plaats": plaatsnaam, "straat": straatnaam, "periode": periode, "pl": permalink, "ws": wslink, "username": username, "bron": bron, "bronurl": bronurl}; $.ajax({ url: 'https://checkfeed.waze.link/wegstatus2slack.php', type: "POST", data: datastring, crossDomain: true, success: function(response){ console.log('Succes: ' + response); }, error: function(response){ console.log('Error: ' + JSON.stringify(response)); } }) } function getData(){ var data = document.querySelector("body > div.container > div.panel.panel-primary > div").innerText.split(/\r?\n/); for (var i = 0; i < data.length; i++) { var dataString = data[i]; if (dataString.includes("Bron:")) { var bron = data[i].substr(6, data[i].length); } else if (dataString.includes("Periode(s):")) { var periode = data[i].substr(11, data[i].length); } } var rank if (bron.includes("Gemeente")) { rank = 3; } else if (bron.includes("Provincie")) { rank = 4; } else if (bron.includes("RWS")) { rank = 5; } else { rank = "?"; }; var locatie = getElementByXpath("/html/body/div[3]/h2/text()[1]"); var straatnaam = locatie.includes(" - "); var plaatsnaam if (straatnaam) { plaatsnaam = locatie.substr(18, locatie.indexOf("- ") - 19); straatnaam = locatie.substr(locatie.indexOf("- ") + 1, locatie.length); straatnaam = straatnaam.trim(); } else { plaatsnaam = locatie.substr(19, locatie.length); straatnaam = null; } if (plaatsnaam.includes("'")) { plaatsnaam = plaatsnaam.replace("'", ""); } plaatsnaam = plaatsnaam.trim(); periode = periode.substr(0, periode.length); if (periode.includes(",")){ periode = periode.replace(/,/g, ",\r\nVan"); } periode = "Van" + periode; periode.trim(); var bronElement = document.querySelectorAll("body > div.container > div.panel.panel-primary > div > a").length; var bronURL; var bronText; if (bronElement > 3) { bronURL = document.querySelectorAll("body > div.container > div.panel.panel-primary > div > a")[3].href bronText = document.querySelectorAll("body > div.container > div.panel.panel-primary > div > a")[3].innerText; } else { bronURL = null bronText = null } console.log(bronURL); console.log(bronText); var permalink = document.querySelectorAll("body > div.container > div.panel.panel-primary > div > a")[0].href var wslink = window.location.href; var username = document.querySelector("#wsnavbar > ul.nav.navbar-nav.navbar-right > li.dropdown > a").innerText; username = username.substr(0, username.indexOf(" ")).toLowerCase(); username = username.charAt(0).toUpperCase() + username.slice(1); sendSlack(rank, plaatsnaam, straatnaam, periode, permalink, wslink, username, bronText, bronURL) } var span = document.querySelector("body > div.container > h2 > a:nth-child(2)"); var div = document.querySelector("body > div.container > h2").contains(span); if (div) { console.log("WS2Slack: User logged in."); var countButton = document.querySelector("body > div.container > h2").children.length if (countButton == 3){ // Create spacing document.querySelector("body > div.container > h2 > a:nth-child(3)").innerHTML += " " // Add button var itm = document.querySelector("body > div.container > h2").children[1]; var cln = itm.cloneNode(true); document.querySelector("body > div.container > h2").appendChild(cln); document.querySelector("body > div.container > h2 > a:nth-child(4) > span > i").className = "fa fa-slack"; var btn = document.querySelector("body > div.container > h2 > a:nth-child(4) > span"); var btn1 = document.querySelector("body > div.container > h2 > a:nth-child(4)"); // Look and feel btn.className = "label label-primary"; btn1.removeAttribute("href") btn.style.cursor = "pointer"; btn1.setAttribute("data-original-title", "Plaats op Slack"); btn1.addEventListener ("click", getData, false); } } else { console.log("WS2Slack: User not logged in."); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址