[亲测]成功解决因360前端公共库停止服务引起的问题

2016年08月31日,360网站安全卫士前端公共库宣布停止服务,具体请看公告内容
国内很多网站在google被墙后选择切换至360前端公共库,包括我在内;导致这个月因360前端公共库停止服务,网站打开超慢。

我曾在14年发布轻松解决被谷歌免费字体库拖慢的现象一文,其中正是将字体库更换为360前端公共库。

可喜的事是,google的字体库又恢复了,详细信息可参考Hao Lee于知乎的阐述:https://www.zhihu.com/question/24955477/answer/120232550

至此,将前面换成的360前端公共库再换回来,字体库的问题也就解决了。
注:wordpress自4.6版后,取消了对在线字体open sans的引用;所以,如果你已升级到4.6,并且没有使用360的字体公共库,则无需处理。

遗憾的是,谷歌的前端库(js)却仍处于墙外资源,经过亲自测试,大致步骤如下:
一、针对wordpress用户
有现成的插件可以解决,如:Useso take over Google
插件地址:http://wordpress.org/plugins/useso-take-over-google/
插件说明:Useso take over Google插件会把页面中所有的Google字体、谷歌JS公用库、Gravatar头像 换成geekzu资源,保证国内用户可以正常访问网站。

二、浏览器插件(chrome)
相信仍有很多站长朋友没有即时处理该问题;所以在访问时,可能因为该原因而导致载入过慢。
针对这种情况,大神们分享了很多chrome插件,其中gooreplacer For Chrome值得推荐。

大多数情况,我不想那么复杂,所以参考了这篇《谷歌lib ajax库加速chrome插件,快速打开国外网站》文章,并依托极客族公共加速服务做了一点点修改,代码如下:

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        var url = details.url;
        //通过匹配测试一个请求
        if (url.indexOf("googleapis") != -1) {
            //var newUrl = url.replace(/http[s]{0,1}\:\/\/(\w+)\.googleapis\.com/, 'http://$1.useso.com');
            var newUrl = url.replace(/\/\/ajax\.googleapis\.com/, '//sdn.geekzu.org/ajax');
            //alert(newUrl);
            return {
                redirectUrl: newUrl
            };     
        }

	//屏蔽广告,可按个人需要权衡是否保留
	if (url.indexOf("google-analytics") != -1 || url.indexOf("twitter") != -1 || url.indexOf("facebook") != -1 || url.indexOf("cnzz") != -1 || url.indexOf("cbjs") != -1 || url.indexOf("cpro") != -1 || url.indexOf("pos.baidu") != -1 || url.indexOf("click.baidu") != -1 || url.indexOf("baidustatic") != -1 || url.indexOf("sogou") != -1 || url.indexOf("share.baidu") != -1 || url.indexOf("tanx.com") != -1 || url.indexOf("hm.baidu.com") != -1 || url.indexOf("googlesyndication") != -1 || url.indexOf("googletagservices.com") != -1 || url.indexOf("atm.youku.com") != -1 || url.indexOf("doubleclick") != -1 || url.indexOf("x.jd.com") != -1 || url.indexOf('webiconset.com') != -1 || url.indexOf('buysellads.com') != -1 ){
			return {cancel: true}; 
			
        }
		
        return true;
    }, {
        urls: [""]
    }, //监听所有的url,你也可以通过*来匹配。
    ["blocking"]
);

重新于chrome的扩展程序启用该插件,就完成了整个处理过程。
祝顺利!

发表评论

电子邮件地址不会被公开。 必填项已用*标注