all_link_to_new_tab

make all link open in new tab

当前为 2021-06-01 提交的版本,查看 最新版本

作者
x94fujo6rpg
评分
0 0 0
版本
0.02
创建于
2021-06-01
更新于
2021-06-01
大小
1.3 KB
许可证
暂无
适用于
所有网站

// ==UserScript==
// @name all_link_to_new_tab
// @namespace https://github.com/x94fujo6rpg/SomeTampermonkeyScripts
// @updateURL https://github.com/x94fujo6rpg/SomeTampermonkeyScripts/raw/master/all_link_to_new_tab.user.js
// @downloadURL https://github.com/x94fujo6rpg/SomeTampermonkeyScripts/raw/master/all_link_to_new_tab.user.js
// @version 0.02
// @description make all link open in new tab
// @author x94fujo6
// @match *://*/*
// @grant none
// @run-at document-body
// ==/UserScript==
/* jshint esversion: 9 */

(function () {
'use strict';
console.log("script start");
const
linkReg = /^(https|http):\/\/.+/,
openLink = (link) => window.open(link, "_blank", "noreferrer"),
setOnclick = () => {
let links = document.querySelectorAll("[href]");
if (links) {
links.forEach(link => {
if (!link.href.match(linkReg)) return;
link.onclick = function (event) {
openLink(link.href);
event.preventDefault();
};
});
} else {
setTimeout(setOnclick, 500);
}
},
setQueue = (max = 3) => {
for (let i = 0; i < max; i++) {
setTimeout(setOnclick, 1000 * i);
}
},
ob = new MutationObserver(setQueue);
setQueue();
ob.observe(document.body, { childList: true, });
})();