解决stackoverflow无法正常使用的问题
访问StackOverflow时顶部有报错
StackOverflow的官网在国内可以正常访问,但是网站使用的jquery是引用自google域名的,由于众所周知的原因,google域名提供的资源是无法访问的,所以网页报了这个错误
解决思路
通过替换的方法,将jQuery的引用地址替换为一个可以访问的地址,就可以解决问题
但是总不能每次打开网页都要手动使用F12打开开发者工具修改网页
于是可以借助浏览器插件“Tampermonkey(油猴)”实现自动替换
步骤
-
使用Firefox(火狐浏览器)或者Edge浏览器
为什么不使用Chrome,因为Chrome安装插件需要梯子,或者安装离线插件,过于麻烦
-
在浏览器中提供的插件商店搜索“Tampermonkey”
-
安装完之后新建脚本
-
编写脚本内容
// 创建script节点 function createScriptElement(_src) { var element = document.createElement("script"); element.src = _src; return element; } // 替换网站jquery引用 function replaceScripts(){ var scripts = document.querySelectorAll('script'); console.log("遍历script引用"); scripts.forEach((item,index)=>{ // console.log(index,item); // 匹配jquery应用 let matches = item.src.match(/jquery\/([\d\.]+)\/jquery.min.js/); if(matches){ let version = matches[1]; let src = 'https://cdn.bootcss.com/jquery/' + version + '/jquery.min.js'; item.parentNode.replaceChild(createScriptElement(src), item); console.log("google jquery ", item); console.log('replaced google jquery with ', src); } }) } // 调用 replaceScripts();
如图:
-
修改脚本运行时期
脚本需要在网页渲染之前执行,提前把jQuery的应用地址替换掉,所以需要调整为网页开始加载的第一时间运行