原文网址:https://www.youyong.top/article/1159b109c55fb
国外的一些博客或者社区类的网站,往往在国内打开速度及其之慢,甚至根本就打不开。除了某些众所周知的原因,还因为这些国外的网站,往往会使用国外的 CDN 服务,比如 ajax.googleapis.com,而这些 CDN 网站在国内要不访问极慢,要不根本打不开,导致网站也跟着受影响。
原文网址:https://www.youyong.top/article/1159b109c55fb
国外的一些博客或者社区类的网站,往往在国内打开速度及其之慢,甚至根本就打不开。除了某些众所周知的原因,还因为这些国外的网站,往往会使用国外的 CDN 服务,比如 ajax.googleapis.com,而这些 CDN 网站在国内要不访问极慢,要不根本打不开,导致网站也跟着受影响。
原文网址:https://www.youyong.top/article/1159b109c55fb
(这标题听上去是不是有点弱,什么叫可能哪…… 不过聊胜于无,时间多宝贵,省点算点。)
有些时候你打开一篇国外的文章,网页标题都出来了,但页面就是出不来,浏览器一直提示正在访问某个 CDN 网站,直接查看源代码发现其实网页内容已经下载完了,就是 javascript 执行不了,网页无法渲染,出现这种情况往往就是上述情况。
好在有一个扩展(我用的是火狐,不过 Chrome 应该也是有的),它的作用是屏蔽网页访问某些 CDN 网站,而用扩展自带的、本地的公共库文件代替这些 CDN 上的文件,从而达到瞬间加载网站所需 CSS、Javascript 文件而极大加快网站的访问速度。
此扩展叫 Decentraleyes,(此扩展还开源 ,地址) 使用此扩展之后访问 stackoverflow,的确是快了很多,网页加载速度那叫一个爽。
当然,此扩展也不是万能的…… 为什么标题里面要加『可能』呢,就是因为这个扩展支持的 CDN 网站有限(国外常见的就 ajax.googleapis.com、ajax.aspnetcdn.com、cdnjs.cloudflare.com、code.jquery.com、cdn.jsdelivr.net,惊讶的是这个扩展居然也支持部分国内的 CDN 比如 libs.baidu.com,不过国内访问本来就快,也无所谓了),但我相信以后这个扩展可支持的 CDN 会越来越多的。
除了上述原因,还因为它也没法给非 CDN 网站的资源加速。
比如访问谷歌的时候总是会提示『正在访问 gstatic.com』,gstatic.com 是谷歌给自己的产品做的静态文件服务器,不是 CDN 服务器,所以 Decentraleyes 就无能为力了。但往往诸如 gstatic.com 提供的代码也只是给网站增加一些交互效果,如果不加载这些静态文件(往往是 javascript 文件),其实也不影响阅读。
所以,我们可以很老土的把 gstatic.com 在 hosts 文件里指向 127.0.0.1 来欺骗浏览器,但更优雅的方式是使用 Noscript 扩展直接把这些不重要的脚本干掉(他们家网站真的是丑哭了……但东西的确是好东西)。
使用 Noscript, 我的『最佳实践』是,设置默认只允许当前页面下的 JS 可执行,这样就阻止了大部分对我们阅读来说根本没啥用,但是对网页加载速度又有影响的脚本的下载(国外的网站几乎都挂 google analytics,以及 google tag manager),另外我也默认允许 Decentraleyes 里提到的 CDN 网站下的 JS 可执行,尽量让网站的交互效果可用。其实用了 Noscript 你会发现无论是国外还是国内,网页加载速度都会快很多。
如果你用了 Noscript,并看了它的拦截信息你就会发现,无论国内国外,网页广告几乎都是由第三方网页广告提供商,以加载他们提供的 JS 代码来生成的(google adsense,doubleclick……),而且几乎大部分网站都是 3,4 个广告商的代码这么挂,简直是触目惊心啊!唉,至于吗,你看本博客,多干净……
所以,用了 Noscript,不但网页加载速度加快,你连广告屏蔽扩展都可以省了,赶紧试试(广告屏蔽扩展的实现方式跟 Noscript 还是不一样,Noscript 不能完全取代 adblock 之类的扩展,不过以我的经验,整个互联网上 80%+ 的广告直接用 Noscript 就可以清理掉)。
共 0 条留言