您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Benachrichtigung bei Erwähnung und Userauswahl mit @ in der SB
当前为
// ==UserScript== // @name BS Notification // @namespace http://tampermonkey.net/ // @version 1.0 // @description Benachrichtigung bei Erwähnung und Userauswahl mit @ in der SB // @author Asu // @match https://bs.to/home // @match https://bs.to/ // @icon https://bs.to/favicon.ico // @grant none // ==/UserScript== var customuserarray=[]; var username=""; function x (){ let posts = document.getElementById('sbPosts'); let postsContent = posts.children; for(let i = 0; i < postsContent.length; i++){ if(postsContent[i].localName == "dd"){ postsContent[i].innerHTML = postsContent[i].innerHTML.replace("@" + username, "<i style='color:yellow'>@" + username + "</i>"); } } } try{ username=document.getElementById("navigation").children[0].childNodes[1].innerText; }catch(err){ console.err(err); } if (!Array.prototype.remI) { var ars = ["Array", "HTMLCollection"]; for (var i = 0; i < ars.length; i++) { Object.defineProperty(eval(ars[i]).prototype, "remI", { enumerable: false, value: function (index) { for (var i = 0; i < this.length; i++) { if (i > index) { this[i - 1] = this[i]; } } this.length--; } }); Object.defineProperty(eval(ars[i]).prototype, "f", { enumerable: false, value: function findArray(f, equal = false, path = "", first = true) { var index = -1; for (var i = 0; i < this.length; i++) { if (equal) { if (f === eval("this[i]" + path)) { index = i; if (first) { return index; } } } else { if (f.toString().indexOf(eval("this[i]" + path)) > -1) { index = i; if (first) { return index; } } } } return index; } }); } } (function() { 'use strict'; let posts = document.getElementById('sbPosts'); posts.addEventListener("DOMNodeInserted", (a,b) => { let personRegExp = new RegExp("/@" + username + "/gi"); if(a.target.localName == "dd" && personRegExp.test(a.target.innerHTML)) { x(); let options = { body: "Someone mentioned you in the shoutbox.", icon: "https://bs.to/favicon.ico" }; let n = new Notification("New Notification", options); } }); // Your code here... //setInterval(x, 1000); x(); //übernommener code: setTimeout(function(){ try{ username=document.getElementById("navigation").children[0].childNodes[1].innerText; }catch(err){} var sB=$(sbMsg)[0]; var par=sB.parentElement; sB.oninput=function(a,b,c){ var usercontainer=$(sbUserCont)[0].children; var onlineNames=[]; for(var i=par.children.length-1;i>-1;i--){ if(par.children[i].localName==="li12"){ par.children[i].remove(); } } for(var t=0;t<usercontainer.length;t++){ if(sB.value.length>2){ if(sB.value.indexOf("@")>-1 && usercontainer[t].children[0].textContent.toLowerCase().indexOf(sB.value.split("@")[1].toLowerCase())===0){ onlineNames.push(usercontainer[t].children[0].textContent); } } } var active=$(sbPosts)[0].children; for(var t=0;t<active.length;t+=2){ if(onlineNames.f(active[t].children[0].textContent)>-1){ onlineNames.remI(onlineNames.f(active[t].children[0].textContent,true)); onlineNames.push(active[t].children[0].textContent); }else{ if(sB.value.length>2&&sB.value.indexOf("@")>-1 && active[t].children[0].textContent.toLowerCase().indexOf(sB.value.split("@")[1].toLowerCase())===0){ onlineNames.push(active[t].children[0].textContent); } } } sB.onl=onlineNames; sB.index=0; if(sB.value.length>2&&onlineNames.length>0){ var field=document.createElement("li12"); field.style.width="200px"; var height=onlineNames.length*20+20; var top=sB.offsetTop-(height)-5; field.style.position="absolute"; field.style.top=top+"px"; field.style.height=height+"px"; field.style.left=sB.offsetLeft+"px"; field.style.background="white"; field.style.border="rgb(100, 160, 255) 1.5px solid"; field.style.borderRadius= "4px"; sB.fie=field; for(var j=0;j<onlineNames.length;j++){ var username=document.createElement("el"); username.innerText=onlineNames[j]; username.style.position="absolute"; username.style.top=j*20+8+"px"; username.style.left=20+"px"; username.style.width="160px"; username.style.color="black"; field.append(username); } par.append(field); } }; sB.onkeydown=function(a,b,c){ if(a.keyCode===38||a.keyCode===40){ if(sB.fie.children[sB.index]){ sB.fie.children[sB.index].style.backgroundColor="white"; } function index(plus){ if(plus){ sB.index++; if(sB.index>sB.onl.length-1){ sB.index=0; } }else{ sB.index--; if(sB.index==-1){ sB.index=sB.onl.length-1; } } } if(sB.index===undefined){ sB.index=0; } if(a.keyCode===38){ index(false); }else{ index(true); } sB.fie.children[sB.index].style.backgroundColor="rgb(100, 160, 255)"; sB.value=sB.value.replace(sB.value.split("@")[1].split(" ")[0],sB.onl[sB.index]+" "); }else if(a.keyCode===9){ //tab if(sB.onl.length===1){ sB.value=sB.value.replace(sB.value.split("@")[1].split(" ")[0],sB.onl[0]+" "); }else{ sB.value=sB.value.replace(sB.value.split("@")[1].split(" ")[0],sB.onl[sB.onl.length-1]+" "); } for(var i=par.children.length-1;i>-1;i--){ if(par.children[i].localName==="li12"){ par.children[i].remove(); } } setTimeout(function(sB){ sB.focus(); sB.selectionStart=sB.value.length; sB.selectionEnd=sB.value.length; },1,sB); } if(a.keyCode==13){ return Shoutbox.checkEnter(a); } }; },1000); })();