Merge branch 'improve-follow'

jh-changes
Shin'ya Ueoka 7 years ago
commit 2b6aca17b0
  1. 1
      src/content/follow.js
  2. 15
      src/content/index.js

@ -10,7 +10,6 @@ export default class Follow {
this.keys = [];
this.onActivatedCallbacks = [];
// TODO activate input elements and push button elements
let links = Follow.getTargetElements(doc);
this.addHints(links);

@ -15,7 +15,7 @@ const startFollows = (newTab) => {
case 'a':
if (newTab) {
// getAttribute() to avoid to resolve absolute path
let href = element.getibute('href');
let href = element.getAttribute('href');
// eslint-disable-next-line no-script-url
if (!href || href === '#' || href.startsWith('javascript:')) {
@ -27,6 +27,15 @@ const startFollows = (newTab) => {
newTab
});
}
if (element.href.startsWith('http://') ||
element.href.startsWith('https://') ||
element.href.startsWith('ftp://')) {
return browser.runtime.sendMessage({
type: messages.OPEN_URL,
url: element.href,
newTab
});
}
return element.click();
case 'input':
switch (element.type) {
@ -51,7 +60,9 @@ const startFollows = (newTab) => {
};
window.addEventListener('keypress', (e) => {
if (e.target instanceof HTMLInputElement) {
if (e.target instanceof HTMLInputElement ||
e.target instanceof HTMLTextAreaElement ||
e.target instanceof HTMLSelectElement) {
return;
}
browser.runtime.sendMessage({