aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/resources/html/highlight.js
diff options
context:
space:
mode:
authorŁukasz Hanuszczak <lukasz.hanuszczak@gmail.com>2015-06-29 20:33:18 +0200
committerŁukasz Hanuszczak <lukasz.hanuszczak@gmail.com>2015-06-30 22:37:49 +0200
commit671e7dc60266d1e0fdabd34956719961c1333fb3 (patch)
tree5eb9f7f6c8115cc7b4b32b960b35f3a168e43511 /haddock-api/resources/html/highlight.js
parent46b1520fcc8ef56825bd42ecf1c1fa8ec899ee58 (diff)
Fix issue with hyperlink highlight styling in Chrome browser.
Diffstat (limited to 'haddock-api/resources/html/highlight.js')
-rw-r--r--haddock-api/resources/html/highlight.js57
1 files changed, 14 insertions, 43 deletions
diff --git a/haddock-api/resources/html/highlight.js b/haddock-api/resources/html/highlight.js
index a538feae..1e903bd0 100644
--- a/haddock-api/resources/html/highlight.js
+++ b/haddock-api/resources/html/highlight.js
@@ -1,48 +1,19 @@
-var styleForRule = function (rule) {
- var sheets = document.styleSheets;
- for (var s = 0; s < sheets.length; s++) {
- var rules = sheets[s].cssRules;
- if (rules === null) {
- return null;
- }
+var highlight = function (on) {
+ return function () {
+ var links = document.getElementsByTagName('a');
+ for (var i = 0; i < links.length; i++) {
+ var that = links[i];
- for (var r = 0; r < rules.length; r++) {
- if (rules[r].selectorText == rule) {
- return rules[r].style;
+ if (this.href != that.href) {
+ continue;
}
- }
- }
-};
-
-var highlight = function () {
- /*
- * Chrome for security reasons disallows to read .cssRules property.
- * So, we are forced to pick some color and set it as a highlight.
- */
- var style = styleForRule("a:hover");
- var color = style !== null ? style["background-color"] : "#808080";
-
- var links = document.getElementsByTagName('a');
- for (var i = 0; i < links.length; i++) {
- var that = links[i];
- if (this.href == that.href) {
- that.style["background-color"] = color;
- }
- }
-};
-/*
- * I have no idea what is the proper antonym for "highlight" in this
- * context. "Diminish"? "Unhighlight"? "Lowlight" sounds ridiculously
- * so I like it.
- */
-var lowlight = function () {
- var links = document.getElementsByTagName('a');
- for (var i = 0; i < links.length; i++) {
- var that = links[i];
- if (this.href == that.href) {
- that.style["background-color"] = "";
+ if (on) {
+ that.classList.add("hover-highlight");
+ } else {
+ that.classList.remove("hover-highlight");
+ }
}
}
};
@@ -50,7 +21,7 @@ var lowlight = function () {
window.onload = function () {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
- links[i].onmouseover = highlight;
- links[i].onmouseout = lowlight;
+ links[i].onmouseover = highlight(true);
+ links[i].onmouseout = highlight(false);
}
};