From 37d9a5fcb85778c19eb33f5e37a66f74de4fd71a Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Wed, 23 Sep 2020 19:54:53 +0200 Subject: Update dagbladet noblink script + fix fs struct Now uses the same structure as the Greasemonkey backup archive. --- Fix input fields/fix-input-fields.user.js | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Fix input fields/fix-input-fields.user.js (limited to 'Fix input fields') diff --git a/Fix input fields/fix-input-fields.user.js b/Fix input fields/fix-input-fields.user.js new file mode 100644 index 0000000..d300fbd --- /dev/null +++ b/Fix input fields/fix-input-fields.user.js @@ -0,0 +1,62 @@ +// ==UserScript== +// @name Fix input fields +// @namespace snake66 +// @description Fix input fields with unreadable text +// @include http://*/* +// @include https://*/* +// @version 2 +// @grant none +// ==/UserScript== + +function normalizedColor(color) +{ + let argstart = color.indexOf("(") + 1; + let arglen = color.lastIndexOf(")") - argstart; + let type = color.substr(0, argstart - 1); + let args = color.substr(argstart, arglen).split(", ").map(function(v) { + return parseInt(v); + }); + return {type: type, val: args} +} + +function isBright(color) +{ + if (!color || color == "") + return false; + + let c = normalizedColor(color); + if (c.type != "rgb") + return false; + + let avg = (c.val[0] + c.val[1] + c.val[2]) / 3; + return avg > 90; +} + +function fixInputFields() +{ + let inputs = document.getElementsByTagName("input"); + console.log("Fix input fields found " + inputs.length + " inputs..."); + + for (let i = 0; i < inputs.length; i++) { + let input = inputs[i]; + let style = getComputedStyle(input); + let fg = style.getPropertyValue("color"); + let bg = style.getPropertyValue("background-color"); + let image = style.getPropertyValue("background-image"); + + if (image) { + input.style.backgroundImage = "none"; + } + + if (isBright(bg)) { + if (isBright(fg)) { + input.style.color = "darkslategray"; + } + } else if (!isBright(fg)) { + input.style.color = "lightgray"; + } + } + console.log("Fix input fields end..."); +} + +fixInputFields(); \ No newline at end of file -- cgit v1.2.3