您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes lines in link/topic etc. lists alternate colors
// ==UserScript== // @name ETI Zebra Tables // @namespace pendevin // @description Makes lines in link/topic etc. lists alternate colors // @include http://endoftheinter.net* // @include http://boards.endoftheinter.net* // @include http://archives.endoftheinter.net* // @include https://endoftheinter.net* // @include https://boards.endoftheinter.net* // @include https://archives.endoftheinter.net* // @version 2 // ==/UserScript== // // **USER SETTINGS** // //When true, the script to choose the colors automatically based on your color scheme const Auto=true; //User defined values //Set Auto to false if you want to use custom colors const AlternateRowColor="#70ADE7"; const BorderColor="#DDE3EB"; const BorderVerticalWidth="2px"; const BorderHorizontalWidth="2px"; const MarginVerticalWidth="0px"; const MarginHorizontalWidth="0px"; const PaddingVerticalWidth="1px"; const PaddingHorizontalWidth="3px"; // // **END USER SETTINGS** // //adds a style to a document and returns the style object //css is a string, id is an optional string that determines the object's id function addStyle(css,id){ var style=document.createElement('style'); style.type='text/css'; style.innerHTML=css; if(id) style.id=id; document.head.appendChild(style); return style; } //variables that aren't present return null //a variable with no value returns the true function getUrlVars(urlz){ //thanks for the function citizenray var vars=[]; var hash=""; var hashes=urlz.slice(urlz.indexOf('?')+1).split('&'); for(var i=0;i<hashes.length;i++){ hash=hashes[i].split('='); if(hash[1]!=null&&hash[1].indexOf("#")>=0)hash[1]=hash[1].substring(0,hash[1].indexOf("#")); if(hash[1]==undefined){ hash[1]=true; if(hash[0].indexOf("#")>=0)hash[0]=hash[0].substring(0,hash[0].indexOf("#")); } vars.push(hash[0]); vars[hash[0]]=hash[1]; } return vars; } //Converts an RGB color value to HSV. Conversion formula //adapted from http://en.wikipedia.org/wiki/HSV_color_space. //Assumes r, g, and b are contained in the set [0, 255] and //returns hin the set [0, 360] and, s and v in the set [0, 100]. function rgbToHsl(r,g,b){ r/=255, g/=255, b/=255; var max=Math.max(r,g,b), min=Math.min(r,g,b); var h, s, l=(max+min)/2; if(max==min) h=s=0; // achromatic else{ var d=max-min; s=l>0.5?d/(2-max-min):d/(max+min); if(max==r) h=(g-b)/d+(g<b?6:0); else if(max==g) h=(b-r)/d+2; else if(max==b) h=(r-g)/d+4; h/=6; } return [Math.round(h*360), Math.round(s*100), Math.round(l*100)]; } function generateColor(){ if(document.getElementsByClassName("grid")[0]){ border=window.getComputedStyle(document.body).getPropertyValue("background-color"); altRow=window.getComputedStyle(document.getElementsByClassName("grid")[0].getElementsByTagName("td")[0]).getPropertyValue("background-color"); altRow=altRow.match(/\((\d+), (\d+), (\d+)\)/); altRow=rgbToHsl(parseInt(altRow[1],10),parseInt(altRow[2],10),parseInt(altRow[3],10)); altRow[2]=altRow[2]<50?altRow[2]+20:altRow[2]-20; altRow="hsl("+altRow[0]+","+altRow[1]+"%,"+altRow[2]+"%)" } } function colorMeTickled(){ if(document.getElementById('ETIZebraTables')) document.head.removeChild(document.getElementById('ETIZebraTables')); var css="\ table.grid>tbody>tr:nth-child(odd)>td{\ background-color:"+altRow+";\ }\ table.grid>tbody>tr>td,table.grid>tbody>tr>th{\ border-color:"+border+";\ border-width:"+BorderVerticalWidth+" "+BorderHorizontalWidth+";\ margin:"+MarginVerticalWidth+" "+MarginHorizontalWidth+";\ padding:"+PaddingVerticalWidth+" "+PaddingHorizontalWidth+";\ }\ "; addStyle(css,'ETIZebraTables'); } var altRow=AlternateRowColor; var border=BorderColor; if(Auto) generateColor(); colorMeTickled(); //compatibility for randomize scheme randomizer/cloud shit document.addEventListener('DOMNodeInserted',function(e){if(Auto&&(e.target.className=='grid'||e.target.id=='Random_Colors')){generateColor();colorMeTickled();}},false);