diff options
| -rw-r--r-- | src/content/follow.js | 1 | ||||
| -rw-r--r-- | src/content/hint.css | 3 | ||||
| -rw-r--r-- | src/content/index.js | 22 | 
3 files changed, 20 insertions, 6 deletions
diff --git a/src/content/follow.js b/src/content/follow.js index 7d69b45..eedd1ed 100644 --- a/src/content/follow.js +++ b/src/content/follow.js @@ -142,6 +142,7 @@ export default class Follow {        return style.display !== 'none' &&          style.visibility !== 'hidden' &&          element.type !== 'hidden' && +        element.offsetHeight > 0 &&          Follow.inWindow(window, element);      });      return filtered; diff --git a/src/content/hint.css b/src/content/hint.css index a0f1233..119dd21 100644 --- a/src/content/hint.css +++ b/src/content/hint.css @@ -4,4 +4,7 @@    font-weight: bold;    position: absolute;    text-transform: uppercase; +  z-index: 100000; +  font-size: 12px; +  color: black;  } diff --git a/src/content/index.js b/src/content/index.js index 159429e..8fb142a 100644 --- a/src/content/index.js +++ b/src/content/index.js @@ -9,15 +9,25 @@ import messages from '../messages';  consoleFrames.initialize(window.document);  const startFollows = (newTab) => { -  let follow = new Follow(window.document, newTab); +  let follow = new Follow(window.document);    follow.onActivated((element) => {      switch (element.tagName.toLowerCase()) {      case 'a': -      return browser.runtime.sendMessage({ -        type: messages.OPEN_URL, -        url: element.href, -        newTab -      }); +      if (newTab) { +        // getAttribute() to avoid to resolve absolute path +        let href = element.getibute('href'); + +        // eslint-disable-next-line no-script-url +        if (!href || href === '#' || href.startsWith('javascript:')) { +          return; +        } +        return browser.runtime.sendMessage({ +          type: messages.OPEN_URL, +          url: element.href, +          newTab +        }); +      } +      return element.click();      case 'input':        switch (element.type) {        case 'file':  | 
