去评论
dz插件网

DQ(v3.0.220723)网页加载速度优化 New

左右不逢缘
2023/12/25 07:30:44
大家有没有发现一个问题:
  1. setTimeout(function() {        var appid = '';        var channelname = window.location.hostname;        if (!!window.navigator.userAgent.match(/AppleWebKit.*Mobile.*/)) {          appid = '500D36509CE649E88446FB4E7A51B221'; // h5        } else {          appid = '4F323A1D5F444BF69C7C4E10704AEA2F'; // pc        }        var url = 'http://sdk.talkingdata.com/app/h5/v1?appid=' + appid + '&vn=' + 'v3.0.220113' + '&vc=' + 'v3.0.220113' + '&td_channelid=' + channelname;        if ( window.location.protocol.indexOf('https') != -1 ) {          url = 'https://jic.talkingdata.com/app/h5/v1?appid=' + appid + '&vn=' + 'v3.0.220113' + '&vc=' + 'v3.0.220113' + '&td_channelid=' + channelname;        }        var talkingdata = document.createElement('script');        talkingdata.type = 'text/javascript';        talkingdata.async = true;        talkingdata.src = url;        document.getElementsByTagName('body')[0].appendChild(talkingdata);        window.sessionStorage.setItem('__TD_td_channel', window.location.hostname.replace(/./g, '_'));        var tdjs = document.createElement('script');        tdjs.type = 'text/javascript';        tdjs.async = true;        tdjs.src = 'https://jic.talkingdata.com/app/h5/v1?appid=750AEE91CF4446A19A2D12D5EE32F725';        document.getElementsByTagName('body')[0].appendChild(tdjs);        var dzqjs = document.createElement('script');        dzqjs.type = 'text/javascript';        dzqjs.async = true;        dzqjs.src = '/js/dzq.js';        document.getElementsByTagName('body')[0].appendChild(dzqjs);      }, 2000);
这个引用有153个,涉及文件78个
仔细阅读发现,这个function 是判断客户端的浏览器类型,以及针对不同浏览器创建不同的js文件


试想一下,如果离线或者网络不通情况下,是不是会延迟网络加载速度,虽然代码里写的是异步访问,但是随着时间的推移,网络后台缓存会不断尝试连接并报错!


不知道开发者当时的设计思路,为什么不调用本地的js呢? 而且78个文件中都有这个调用,为什么不引用一个公共函数?


昨天我翻电脑,找到了官方最后一个版本的安装包,尝试修改了其中的js文件调用,现在只有上面代码中提到的2个链接,经过试验发现,正常安装,而且页面打开速度很快


刚刚尝试把代码中的js文件保存到本地,修改成本地调用后,现在打开首页速度稳定在0.05秒,可怕不?


对了还有一个大家不知道的代码:
  1. img.src = "https://discuzq-0gxi1bn2969fa48d.service.tcloudbase.com/access?" + pt + "&dn=" + encodeURIComponent(window.location.hostname.replace(/\./g, "_"));
这个是引用的图片,居然是一个点,每次开页面都回访问,不知道官方是统计访问次数还是? 不得而知。

还是那句话,接触discuz已经10多年了,没有感情是不可能的,虽然DQ停止了维护,但是不能把摊子直接甩掉吧? 很伤感情。