diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2020-09-23 19:54:53 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2020-09-23 19:56:08 +0200 |
commit | 37d9a5fcb85778c19eb33f5e37a66f74de4fd71a (patch) | |
tree | 09df41720193577d58be47e2f4e4c561631a49e3 /Fix input fields | |
parent | 25f440f7361264a9af07145d472364eee079f761 (diff) | |
download | userscripts-37d9a5fcb85778c19eb33f5e37a66f74de4fd71a.tar.gz userscripts-37d9a5fcb85778c19eb33f5e37a66f74de4fd71a.tar.bz2 userscripts-37d9a5fcb85778c19eb33f5e37a66f74de4fd71a.zip |
Update dagbladet noblink script + fix fs struct
Now uses the same structure as the Greasemonkey backup archive.
Diffstat (limited to 'Fix input fields')
-rw-r--r-- | Fix input fields/fix-input-fields.user.js | 62 |
1 files changed, 62 insertions, 0 deletions
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 |