您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
click a link always open a new tabs
- // ==UserScript==
- // @name click a link always open a new tab
- // @description click a link always open a new tabs
- // @icon https://img1.baidu.com/it/u=1412332306,99938487&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500
- // @license MIT
- // @version 0.0.2
- // @author lee mathew
- // @run-at document-end
- // @include http*://*
- // @namespace https://greasyfork.org/users/1090699
- // ==/UserScript==
- (function () {
- // const onClick = function (event, href) {
- // // event.preventDefault();
- // console.log(event, href)
- // }
- let elements = document.querySelectorAll("a")
- elements.forEach(el => {
- //如果是a标签的href只有javascript:;之类的,需要跳过
- if (el.href.indexOf('javascript:') === -1&&['http','https'].includes(el.href.split(":")[0])) {
- el.target = '_blank'
- // let params = queryURLparamsRegEs6(el.href)
- // params['new_tab_return_path'] = window.location.href
- // el.href = paramsToUrl(params)
- // el.addEventListener('click', (event) => { onClick(event, el.href) })
- }
- })
- // let params = queryURLparamsRegEs6(window.location.href)
- // if (params['new_tab_return_path']) {
- // console.log('pushState!!!', location.href)
- // setTimeout(() => {
- // var thisLocation = location.href;
- // // history.replaceState({ page: 'intercept', entered: false }, '', intercetpUrl);
- // history.pushState({ page: 'current' }, '', thisLocation);
- // }, 1000)
- // }
- // window.addEventListener("popstate", e => {
- // alert("监听到了浏览器的返回按钮事件");
- // }, false);
- // function queryURLparamsRegEs6(url) {
- // let obj = {}
- // obj.baseUrl = url.split("?")[0]
- // if (url.indexOf('?') < 0) return obj
- // let arr = url.split('?')
- // url = arr[1]
- // let array = url.split('&')
- // for (let i = 0; i < array.length; i++) {
- // let arr2 = array[i]
- // let arr3 = arr2.split('=')
- // obj[arr3[0]] = arr3[1]
- // }
- // return obj
- // }
- // function paramsToUrl(params) {
- // let ans = params.baseUrl
- // delete params.baseUrl
- // Object.keys(params).forEach((key, index) => {
- // if (index === 0) {
- // ans += '?'
- // } else {
- // ans += '&'
- // }
- // ans += `${key}=${params[key]}`
- // })
- // return ans
- // }
- })();