您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
去除知乎链接的重定向
当前为
- // ==UserScript==
- // @name Reomve ZhiHu Link Redirect
- // @namespace https://greasyfork.org/users/20921
- // @version 0.2
- // @description 去除知乎链接的重定向
- // @author roshanca
- // @match http://*.zhihu.com/*
- // @match https://*.zhihu.com/*
- // @icon https://pic1.zhimg.com/2e33f063f1bd9221df967219167b5de0_m.jpg
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- var DOMObserverTimer = null;
- var DOMObserverConfig = {
- attributes: true,
- childList: true,
- subtree: true
- };
- var DOMObserver = new MutationObserver(function () {
- if (DOMObserverTimer) {
- clearTimeout(DOMObserverTimer);
- }
- DOMObserverTimer = setTimeout(function () {
- DOMObserver.disconnect();
- handleLinks();
- DOMObserver.observe(document.body, DOMObserverConfig);
- }, 100);
- });
- DOMObserver.observe(document.body, DOMObserverConfig);
- // first run
- handleLinks();
- // cache
- var processedLinks = new WeakMap();
- var handleLinks = function () {
- var allLink = document.querySelectorAll('a.external, a.LinkCard');
- if (!allLink.length) return;
- for (var i = 0, len = allLink.length; i < len; i++) {
- var link = allLink[i];
- if (processedLinks.has(link)) {
- continue;
- } else {
- processedLinks.set(link, 1);
- replaceLink(link);
- }
- }
- };
- var replaceLink = function(link) {
- var href = link.href;
- var regRet = href.match(/target=(.+?)(&|$)/);
- var newHref = href;
- if (regRet && regRet.length === 3) {
- newHref = regRet[1];
- }
- link.href = newHref;
- };
- })();