您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
連結轉為原網址
// ==UserScript== // @name Fix link in www.facebook.com // @version 1.3 // @include /^https?\:\/\/(?:m|www)\.facebook\.com/ // @description 連結轉為原網址 // @author zero0evolution // @namespace Fix link in facebook.com // ==/UserScript== if(document.readyState === "loading"){ document.addEventListener( "DOMContentLoaded",function(event){ init() } ) } else{ init() } function init(){ fixAllHref(document.documentElement) const newNodeObserverObj = new MutationObserver( function (mutationObjs){ for(const eachMutationObj of mutationObjs){ for(eachAddNode of eachMutationObj.addedNodes){ if(eachAddNode.nodeType === 1){ fixAllHref(eachAddNode) } } } } ) newNodeObserverObj.observe( //監視目標 document.documentElement,{ childList:true, subtree:true, } ) } function fixAllHref(topElem){ if(topElem.matches("a[href]")){ fixHref(topElem) createHrefMutationObserver(topElem) } for (const childElem of topElem.querySelectorAll("a[href]")) { fixHref(childElem) createHrefMutationObserver(childElem) } } function fixHref(elem){ let oldHref = elem.href const linkMatchObj = oldHref.match( /^https\:\/\/lm?\.facebook\.com\/l\.php\?(.*)$/im) if(linkMatchObj){ const innerLinkMatchObj = linkMatchObj[1].match( /u\=(.*?)(?=\&|$)/im) if(innerLinkMatchObj){ let newHref = decodeURIComponent(innerLinkMatchObj[1]) newHref = newHref .replace(/fbclid\=.*?(?:\&|$)/im,"") .replace(/(?:\&|\?)$/im,"") elem.href = newHref console.log("更換連結",oldHref,"=>",newHref) return(null) } } oldHref = elem.href const fbclidMatchObj = oldHref.match(/fbclid\=.*?(?:\&|$)/im) if(fbclidMatchObj){ let newHref = oldHref .replace(/fbclid\=.*?(?:\&|$)/im,"") .replace(/(?:\&|\?)$/im,"") console.log("更換連結",oldHref,"=>",newHref) elem.href = newHref } // const videoLinkPatten = /^(.*?\/videos\/\d+)(\/\?.*?)$/im // const videoLinkMatchObj = oldHref.match(videoLinkPatten) // if(videoLinkMatchObj){ // let newHref = videoLinkMatchObj[1] // // let newHref = oldHref.replace(videoLinkMatchObj,(matchStr,p1)=>{ // // return("/videos/"+p1) // // }) // elem.href = newHref // // console.log(oldHref) // // console.log("==>") // // console.log(newHref) // // console.log() // return(null) // } } function createHrefMutationObserver(elem){ ` if href has been changed fix href again!! ` const hrefMutationObserver = new MutationObserver( function(mutationObjs){ for(const eachMutationObj of mutationObjs){ fixHref(eachMutationObj.target) } } ) hrefMutationObserver.observe( elem,{ attributes:true, attributeFilter:["href"], } ) }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址