ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 为什么Disqus不使用全局CDN作为评论代码?

2019-07-26 02:36:34  阅读:164  来源: 互联网

标签:disqus javascript cdn


根据Disqus comment code instructions,你应该包括他们的JavaScript如下:

(function () {
  var s = document.createElement('script');
  s.async = true;
  s.type = 'text/javascript';
  s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
  (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());

JavaScript的位置基于特定于您网站的短名称.为什么Disqus会这样做而不是为他们的JavaScript使用一个全局位置(例如cdn.disqus.com/count.js).如果每个站点的JavaScript都相同,那么要求每个人为他们访问的每个支持Disqus的域重新下载JavaScript似乎很愚蠢.如果JavaScript基于短名称不同,为什么不使用在加载全局js之前设置的短名称变量?

Disqus是一家相当庞大而成熟的公司,所以我认为这是他们有意识和有目的的决定.他们为什么要走这条路?

解决方法:

实际上他们正在使用CDN来传递count.js.

如果< shortname>存在

http://< shortname> .disqus.com / count.js重定向到类似的内容

http://mediacdn.disqus.com/1334018047/build/system/count.js.

为了减少流量count.js(在CDN上)提供了一个Expires-Header,允许缓存最多一个月.

但想象一下,他们需要更改代码或阻止某些网站或向其他网站提供特殊功能,这需要一个月的时间才能让所有客户获得更改.为了减少这个时间跨度,他们可能会使用此重定向(缓存最多只能持续10分钟),因此代码/功能更改将在10分钟内到达每个客户端.

它为他们提供了很大的灵活性,并且不需要用户更改包含代码.

标签:disqus,javascript,cdn
来源: https://codeday.me/bug/20190726/1539272.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有