|
|
*/"use strict";function DisqusJS(s){var n=function(s,e,n){var t=new XMLHttpRequest;t.open("GET",encodeURI(s),!0),t.onreadystatechange=function(){if(4==t.readyState&&200==t.status){var s=JSON.parse(t.responseText);e(s)}},t.timeout=4e3,t.ontimeout=function(s){n(s)},t.onerror=function(s){n(s)},t.send()},d=function(s,e){try{localStorage.setItem(s,e)}catch(s){}},c=function(s){var e=s.getFullYear(),n=s.getMonth()+1;n=n<10?"0".concat(n):n;var t=s.getDate();t=t<10?"0".concat(t):t;var a=s.getHours()+8;a=a<10?"0".concat(a):a;var o=s.getMinutes();return o=o<10?"0".concat(o):o,"".concat(e,"-").concat(n,"-").concat(t," ").concat(a,":").concat(o)};function i(){var s=document,e=s.createElement("script");s.getElementById("disqus_thread").innerHTML='<div id="dsqjs"><section><div id="dsqjs-msg">评论完整模式加载中...如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理,或使用 <a id="dsqjs-force-dsqjs" class="dsqjs-msg-btn">评论基础模式</a></div></section><footer><p class="dsqjs-footer">Powered by <a class="dsqjs-disqus-logo" href="https://disqus.com" rel="nofollow noopener noreferrer" target="_blank"></a> & <a href="https://github.com/SukkaW/DisqusJS" target="_blank">DisqusJS</a></p></footer>',s.getElementById("dsqjs-force-dsqjs").addEventListener("click",t),e.src="https://"+q.config.shortname+".disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(s.head||s.body).appendChild(e)}function r(){for(var s=["disqus.com","".concat(q.config.shortname,".disqus.com")],t=0,a=0,o=function(){s.length===t&&t===a?(d("dsqjs_mode","disqus"),i()):s.length===t&&(d("dsqjs_mode","dsqjs"),l())},e=0;e<s.length;e++){!function(s){var e=new Image,n=setTimeout(function(){e.onerror=e.onload=null,t++,o()},2e3);e.onerror=function(){clearTimeout(n),t++,o()},e.onload=function(){clearTimeout(n),t++,a++,o()},e.src="https://".concat(s,"/favicon.ico?").concat(+new Date)}(s[e])}}function l(){!function(){var s=document;s.getElementById("disqus_thread").innerHTML='<div id="dsqjs"><section><div id="dsqjs-msg"></div></section><header class="dsqjs-header dsqjs-hide" id="dsqjs-header"><nav class="dsqjs-nav dsqjs-clearfix"><ul><li class="dsqjs-nav-tab dsqjs-tab-active"><span><span id="dsqjs-comment-num"></span> Comments</span></li><li class="dsqjs-nav-tab"><span id="dsqjs-site-name"></span></li></ul></nav></header><section class="dsqjs-post-container"><ul class="dsqjs-post-list" id="dsqjs-post-container"></ul><a id="dsqjs-load-more" class="dsqjs-load-more dsqjs-hide">加载更多评论</a></section><footer><p class="dsqjs-footer">Powered by <a class="dsqjs-disqus-logo" href="https://disqus.com" rel="nofollow noopener noreferrer" target="_blank"></a> & <a href="https://github.com/SukkaW/DisqusJS" target="_blank">DisqusJS</a></p></footer></div>',s.getElementById("dsqjs-msg").innerHTML='评论基础模式加载中。如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 <a id="dsqjs-reload-disqus" class="dsqjs-msg-btn">尝试完整 Disqus 模式</a> | <a id="dsqjs-force-disqus" class="dsqjs-msg-btn">强制完整 Disqus 模式</a>。',s.getElementById("dsqjs-reload-disqus").addEventListener("click",r),s.getElementById("dsqjs-force-disqus").addEventListener("click",u);var e="".concat(q.config.api,"3.0/threads/list.json?forum=").concat(q.config.shortname,"&thread=ident:").concat(q.config.identifier,"&api_key=").concat(q.config.apikey);n(e,function(s){var e=document;if(0===s.code&&1===s.response.length){var n=s.response[0];q.page={id:n.id,title:n.title,isClosed:n.isClosed,length:n.posts},e.getElementById("dsqjs-comment-num").innerHTML=q.page.length,e.getElementById("dsqjs-site-name").innerHTML=q.config.siteName,t()}else 0===s.code&&1!==s.response.length?(e.getElementById("dsqjs-msg").innerHTML='该 Thread 并没有初始化,是否 <a id="dsqjs-force-disqus" class="dsqjs-msg-btn">切换到完整 Disqus 模式</a> 进行初始化?',e.getElementById("dsqjs-force-disqus").addEventListener("click",u)):m()},function(s){m()})}();var t=function t(s){s=s?"&cursor=".concat(s):"";var e="".concat(q.config.api,"3.0/posts/list.json?forum=").concat(q.config.shortname,"&thread=").concat(q.page.id).concat(s,"&api_key=").concat(q.config.apikey);n(e,function(s){if(0===s.code&&0<s.response.length){o(s.response);var e=document.getElementById("dsqjs-load-more");s.cursor.hasNext?(e.classList.remove("dsqjs-hide"),e.addEventListener("click",function(){t(s.cursor.next)})):e.classList.add("dsqjs-hide")}else if(0===s.code&&0===s.response.length){var n=document;n.getElementById("dsqjs-msg").innerHTML='你可能无法访问 Disqus,已启用评论基础模式。如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 <a id="dsqjs-reload-disqus" class="dsqjs-msg-btn">尝试完整 Disqus 模式</a> | <a id="dsqjs-force-disqus" class="dsqjs-msg-btn">强制完整 Disqus 模式</a>。',n.getElementById("dsqjs-header").classList.remove("dsqjs-hide"),n.getElementById("dsqjs-post-container").innerHTML='<div class="dsqjs-no-comment">这里冷冷清清的,一条评论都没有</div>'}else m()},function(s){m()})},a=function(s){var e=[],o=[];return s.forEach(function(s){(s.parent?o:e).push(s)}),e.map(function(s){return{comment:s,author:s.author.name,isPrimary:s.author.username===q.config.admin.toLowerCase(),children:function s(e){if(0===o.length)return null;for(var n=[],t=0;t<o.length;t++){var a=o[t];a.parent===e&&n.unshift({comment:a,author:a.author.name,isPrimary:a.author.username===q.config.admin.toLowerCase(),children:s(+a.id)})}return n.length?n:null}(+s.id)}})},o=function(s){var o=function(s){return s.comment.author.profileUrl?(s.comment.avatarEl='<a href="'.concat(s.comment.author.profileUrl,'"><img src="').concat(s.comment.author.avatar.cache,'"></a>'),s.comment.authorEl='<span class="dsqjs-post-author"><a href="'.concat(s.comment.author.profileUrl,'" target="_blank" rel="nofollow noopener noreferrer">').concat(s.comment.author.name,"</a></span>")):(s.comment.avatarEl='<img src="'.concat(s.comment.author.avatar.cache,'">'),s.comment.authorEl='<span class="dsqjs-post-author">'.concat(s.comment.author.name,"</span>")),s.isPrimary&&(s.comment.authorEl+='<span class="dsqjs-admin-badge">'.concat(q.config.adminLabel,"</span>")),s.children&&(s.nesting=1),s},d=function(s){return'<div class="dsqjs-post-item dsqjs-clearfix"><div class="dsqjs-post-avatar">'.concat(s.avatarEl,'</div><div class="dsqjs-post-body"><div class="dsqjs-post-header">').concat(s.authorEl,' <span class="dsqjs-bullet"></span> <span class="dsqjs-meta"><time>').concat(c(new Date(s.createdAt)),'</time></span></div><div class="dsqjs-post-content">').concat(s.message,"</div></div></div>")},e="";(s=a(s)).map(function(s){s=o(s),e+='<li data-id="comment-'.concat(s.comment.id,'">').concat(d(s.comment)).concat(function e(s){var n=s.nesting,t=s.children||[];if(t){var a=n<4?'<ul class="dsqjs-post-list dsqjs-children">':'<ul class="dsqjs-post-list">';return a+=t.map(function(s){return(s=o(s)).nesting=n+1,'<li data-id="comment-'.concat(s.comment.id,'">').concat(d(s.comment)).concat(e(s),"</li>")}),0!==(a+="</ul>").length?a:void 0}}(s),"</li>")});var n=document;n.getElementById("dsqjs-header").classList.remove("dsqjs-hide"),n.getElementById("dsqjs-msg").innerHTML='你可能无法访问 Disqus,已启用评论基础模式。如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 <a id="dsqjs-reload-disqus" class="dsqjs-msg-btn">尝试完整 Disqus 模式</a> | <a id="dsqjs-force-disqus" class="dsqjs-msg-btn">强制完整 Disqus 模式</a>。',n.getElementById("dsqjs-post-container").insertAdjacentHTML("beforeend",e),n.getElementById("dsqjs-reload-disqus").addEventListener("click",r),n.getElementById("dsqjs-force-disqus").addEventListener("click",u)}}function m(){var s=document;s.getElementById("dsqjs-msg").innerHTML='评论基础模式加载失败,是否 <a id="dsqjs-reload-dsqjs" class="dsqjs-msg-btn">重载</a> 或 <a id="dsqjs-reload-disqus" class="dsqjs-msg-btn">尝试完整 Disqus 模式</a> ?',s.getElementById("dsqjs-reload-dsqjs").addEventListener("click",l),s.getElementById("dsqjs-reload-disqus").addEventListener("click",r)}function t(){d("dsqjs_mode","dsqjs"),l()}function u(){d("dsqjs_mode","disqus"),i()}var e,q=[];q.config=s,q.page=[],window.disqus_config=function(){this.page.url=q.config.url,this.page.identifier=q.config.identifier},q.mode=(e="dsqjs_mode",localStorage.getItem(e)),"disqus"===q.mode?i():"dsqjs"===q.mode&&l()} |