- // ==UserScript==
- // @name Visited Lite
- // @namespace iFantz7E.VisitedLite
- // @description Mark all visited links as custom color.
- // @version 0.23
- // @include http*
- // @icon https://addons.cdn.mozilla.net/user-media/addon_icons/359/359581-64.png
- // @run-at document-start
- // @grant none
- // @copyright 2015, 7-elephant
- // ==/UserScript==
-
- (function ()
- {
-
- //// Config
-
- // View your old config from Visited
- // about:config?filter=extensions.visited
-
- // Copy from extensions.visited.color.visited
- var p_color_visited = "LightCoral";
-
- // Copy from extensions.visited.except
- var p_except = "mail.live.com,";
-
- //// End Config
-
- //// Variable
-
- const style_id = "visited-lite-7e-style";
- const css_a_visited = " a:visited, a:visited * { color: %COLOR% !important; } ";
-
- var colorArr = ["Aqua","Blue","BlueViolet","Brown","CadetBlue","Chocolate","Coral"
- ,"CornflowerBlue","Crimson","DarkGoldenRod","DarkGreen","DarkKhaki","DarkMagenta"
- ,"Darkorange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkTurquoise"
- ,"DarkViolet","DeepPink","DeepSkyBlue","DodgerBlue","FireBrick","ForestGreen"
- ,"Fuchsia","Gold","GoldenRod","Green","GreenYellow","HotPink","IndianRed"
- ,"Indigo","Khaki","Lavender","LawnGreen","LightCoral","LightSalmon","LightSeaGreen"
- ,"LightSteelBlue","Lime","LimeGreen","Magenta","Maroon"
- ,"MediumAquaMarine","MediumOrchid","MediumSlateBlue","MediumTurquoise","NavajoWhite","Navy"
- ,"Orange","OrangeRed","Orchid","PaleVioletRed","Peru","Purple","Red","RosyBrown"
- ,"RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","Sienna","SlateBlue"
- ,"SpringGreen","SteelBlue","Tomato","Turquoise","Violet","YellowGreen"];
-
- //// End Variable
-
- //// Function
-
- function attachOnLoad(callback)
- {
- window.addEventListener("load", function (e)
- {
- callback();
- });
- }
-
- function attachOnReady(callback)
- {
- document.addEventListener("DOMContentLoaded", function (e)
- {
- callback();
- });
- }
-
- function isExceptSite(except, site)
- {
- var exceptList = except.split(",");
- for (var i = 0; i < exceptList.length; i++)
- {
- var str = exceptList[i].replace(/\s/ig,"");
-
- var str1 = str;
- if (str1.indexOf(".") != 0 && str1.indexOf("/") != 0)
- str1 = "." + str1;
-
- var str2 = str;
- if (str2.indexOf("://") != 0)
- str2 = "://" + str2;
-
- if(str != ""
- && (site.indexOf(str1) > -1 || site.indexOf(str2) > -1))
- {
- return true;
- }
- }
- return false;
- }
-
- function addStyle(css)
- {
- var style = document.getElementById(style_id);
- if(style == null)
- {
- var heads = document.getElementsByTagName("head");
-
- if(heads != null && heads.length > 0)
- {
- var head = heads[0];
- var style = document.createElement("style");
- if(style != null)
- {
- style.setAttribute("id",style_id);
- style.setAttribute("type","text/css");
- head.appendChild(style);
- }
- }
- }
-
- if(style != null)
- {
- style.textContent = String(css);
- }
- }
-
- function assignColor(css, color)
- {
- return css.replace(/%COLOR%/ig, color);
- }
-
- function main()
- {
- var url = document.documentURI;
- var css = "";
-
- css += assignColor(css_a_visited, p_color_visited);
-
- if(!isExceptSite(p_except, url))
- {
- addStyle(css);
- }
- }
-
- //// End Function
-
- attachOnReady(main);
-
- })();
-
- // End