Bilibili 统计的错误实现问题

2016-09-22 09:50:11 +08:00
 Septembers

B 站的统计实现在统计站不可达的情况下将阻塞后续逻辑的执行

将加载逻辑变更为异步即可解决问题


解决方法 将底部的

    <script type="text/javascript">
    $(function () {
        $.ajax({url: 'http://data.bilibili.com/rec.js', cache: true, dataType: 'script'});
        $('<scr' + 'ipt type="text/javascript" src="http://static.hdslb.com/js/bfd.js" charset="UTF-8"></scri' + 'pt>').appendTo('body');
        $('<scr' + 'ipt type="text/javascript" src="http://s11.cnzz.com/stat.php?id=2724999&web_id=2724999" charset="UTF-8"></scri' + 'pt>').appendTo('body');
        $('<scr' + 'ipt type="text/javascript" src="http://tajs.qq.com/stats?sId=9156259" charset="UTF-8"></scri' + 'pt>').appendTo('body');
    });
    </script>

变更为

    <script type="text/javascript">
    $(function () {
        function getScriptCached(idx, url) {
            $.ajax({url: url, cache: true, dataType: 'script'});
        }
        var items = [
            '//data.bilibili.com/rec.js',
            '//static.hdslb.com/js/bfd.js',
            '//s11.cnzz.com/stat.php?id=2724999&web_id=2724999',
            '//tajs.qq.com/stats?sId=9156259'
        ];
        $.each(items, getScriptCached);
    });
    </script>

即可解决问题

2917 次点击
所在节点    全球工单系统
5 条回复
MinonHeart
2016-09-22 10:09:23 +08:00
$(script).appendTo(document.body);

script 加载是异步的
Septembers
2016-09-22 10:16:45 +08:00
CC @deasel
Septembers
2016-09-22 10:19:21 +08:00
xmoiduts
2016-09-22 10:23:37 +08:00
tajs.qq.com 好像永远报错,无论浏览器怎么代理。
deasel
2016-09-22 13:48:13 +08:00
哦,这个我先测试一下,多谢反馈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/308041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX