From e4fd148b74f43cc0099f6f9dab6a9fe2a2ca8445 Mon Sep 17 00:00:00 2001 From: Daniel Carl Date: Mon, 28 Oct 2013 21:38:36 +0100 Subject: [PATCH] Don't use invisible links for prev/next. --- src/hints.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/hints.js b/src/hints.js index 1beea66..38a4571 100644 --- a/src/hints.js +++ b/src/hints.js @@ -397,13 +397,22 @@ var VbHint = (function(){ /* returns array of matching elements */ function followFrame(frame) { var i, p, reg, res = [], - elems = frame.document.getElementsByTagName("a"); + doc = frame.document, + elems = [], + all = doc.getElementsByTagName("a"); /* first match links by rel attribute */ - for (i = elems.length - 1; i >= 0; i--) { - if (elems[i].rel.toLowerCase() === rel) { - res.push(elems[i]); - elems.splice(i, 1); + for (i = all.length - 1; i >= 0; i--) { + /* collect visible elements */ + var s = doc.defaultView.getComputedStyle(all[i], null); + if (s.display !== "none" && s.visibility === "visible") { + /* if there are rel attributes alaments, put them in the result */ + if (all[i].rel.toLowerCase() === rel) { + res.push(all[i]); + } else { + /* save to match them later */ + elems.push(all[i]); + } } } /* match each pattern successively against each link in the page */ -- 2.20.1