您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
except for the link in the same directory(the link whose web address are same before the last '/' as the current url)
当前为
- // ==UserScript==
- // @name open all links in the new tab
- // @description except for the link in the same directory(the link whose web address are same before the last '/' as the current url)
- // @include http://*
- // @include https://*
- // @author yechenyin
- // @version 0.6
- // @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" && element.href && element.href.indexOf('http') === 0)
- 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, link.href);
- if (link && link.href && !/^(\d+|Next|Prev|>|<|下一页|上一页|下一頁|上一頁|回首頁|次へ|前へ)$/.test(link.innerText) && !link.href.matched(exception)) {
- window.open(link.href);
- e.preventDefault();
- e.stopPropagation();
- return false;
- }
- });
- document.body.innerHTML += '<script>' + `
- window.addEventListener("beforeunload", function (e) {
- //debugger;
- return 'left?';
- });
- ` + '</script>';