aboutsummaryrefslogtreecommitdiffstats
path: root/Fix input fields
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2020-09-23 19:54:53 +0200
committerHarald Eilertsen <haraldei@anduin.net>2020-09-23 19:56:08 +0200
commit37d9a5fcb85778c19eb33f5e37a66f74de4fd71a (patch)
tree09df41720193577d58be47e2f4e4c561631a49e3 /Fix input fields
parent25f440f7361264a9af07145d472364eee079f761 (diff)
downloaduserscripts-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.js62
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