open all links in the new tab except for the turn page link

except for the turn page link whose inner text is 'next', 'previous' and other page number)

Від 25.09.2017. Дивіться остання версія.

// ==UserScript==
// @name           open all links in the new tab except for the turn page link
// @description    except for the turn page link whose inner text is 'next', 'previous' and other page number)
// @include        http://*
// @include        https://*
// @author         yechenyin
// @version        0.5
// @namespace 	   https://greasyfork.org/users/3586-yechenyin
// @grant       	 GM_openInTab
// ==/UserScript==
var exception = ['https://m.leiphone.com/page/'];
function getAncestorLink(element) {
  while (element && element.nodeName != "A") {
    element = element.parentNode;
  }
  if (element.nodeName === "A")
    return element;
}

String.prototype.matched = function(strings) {
  for (var i = 0; i < strings.length; i++) {
    if (typeof strings[i] == 'string' && this.indexOf(strings[i]) === 0)
      return true;
    else if (strings[i] instanceof RegExp && this.test(strings[i]))
      return true;
  }
  return false;
};

document.addEventListener('click', function(e) {
  var link = getAncestorLink(e.target);
  console.log(link.innerText);
  if (link && link.href && !/^(\d+|Next|Prev|>|<|下一页|上一页|下一頁|上一頁|回首頁|次へ|前へ)$/.test(link.innerText) && !link.href.matched(exception))
    link.target = '_blank';
});