按照Disqus comment code instructions,你應該包括其JavaScript如下:爲什麼Disqus不使用全球CDN作爲評論代碼?
(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之前設置的shortname變量?
Disqus是一家相當大且成熟的公司,所以我假設這是一個有意識的,有目的的決定。他們爲什麼走這條路?
但我想客戶端將無法緩存不同站點之間的JS文件,因爲它是使用不同的子域請求的。 – David 2012-04-11 06:45:05
JS文件本身將緩存在不同的域之間,唯一不在域之間緩存的是重定向。 – stewe 2012-04-11 13:52:58
感謝您的解釋。我沒有意識到瀏覽器會在重定向之後緩存文件。 – 2012-04-11 16:05:39