1/** 2 * WordPress Weisay-Ajax-Comments v1.2 by Weisay. 3 * URI: https://www.weisay.com/blog/ 4 */ 5jQuery(document).ready(function($){var $commentsTitle=$('#comments-title');var $commentForm=$('#commentform');var $submitButton=$('#submit');var $commentField=$('#comment');var $cancelBtn=$('#cancel-comment-reply-link');var $replyTitle=$('#reply-title');var timer;var wait=0;var countdown_time=15;var admin_img_path=ajax_obj.admin_img;var pic_spin=admin_img_path+'wpspin_light.gif';var pic_no=admin_img_path+'no.png';var pic_yes=admin_img_path+'yes.png';var default_btn_text=$submitButton.val()||$submitButton.text()||"å表è¯è®º";var default_title=$replyTitle.contents().filter(function(){return this.nodeType===3}).first().text().trim()||"å表è¯è®º";var guest_info={author:'',email:'',url:''};function countdown(reset){if(reset){wait=countdown_time;$submitButton.val(wait+' ç§').addClass('disabled').prop('disabled',true).css('opacity','0.5')}if(wait<=0)return;clearInterval(timer);timer=setInterval(function(){if(wait>0){wait--;$submitButton.val(wait+' ç§')}else{restore_button();clearInterval(timer)}},1000)}function restore_button(){wait=0;$submitButton.val(default_btn_text).removeClass('disabled').prop('disabled',false).css('opacity','1')}if($('#ajax-comment-wrap').length===0){var status_html='<div id="ajax-comment-wrap" style="display:none;"><div id="ajax-comment-loading" class="comment-tips"><img src="'+pic_spin+'"><span>æ£å¨æäº¤ï¼è¯·ç¨å...</span></div><div id="ajax-comment-error" class="comment-tips" style="display:none;"><img src="'+pic_no+'"><span></span></div></div>';$commentField.after(status_html)}var num=1,comm_array=[],real_authors=[];$commentForm.submit(function(e){e.preventDefault();if(wait>0)return;if(num>50){comm_array=[];real_authors=[];num=1}var $form=$(this),isEditing=$('#edit_id').length>0;guest_info.author=$('#author').val()||'';guest_info.email=$('#email').val()||'';guest_info.url=$('#url').val()||'';$('#ajax-comment-error').hide();$('#ajax-comment-loading').show();$('.ajax-success-tip').remove();$('#ajax-comment-wrap').slideDown();$submitButton.addClass('disabled').prop('disabled',true).css('opacity','0.5');var formData=$form.serializeArray();formData.push({name:'action',value:'ajax_comment'});formData.push({name:'comment_nonce',value:ajax_obj.comment_nonce});$.ajax({type:'POST',url:ajax_obj.ajaxurl,data:formData,dataType:'json',success:function(response){if(response.success){$('#ajax-comment-wrap').hide();var $newComment=$(response.data),realId=$newComment.attr('id').replace('comment-','');var parentId=$form.find('#comment_parent').val(),used_num=isEditing?$('#edit_id').attr('data-num'):num;var current_reply_to=$replyTitle.contents().filter(function(){return this.nodeType===3}).first().text().trim();comm_array[used_num]=$commentField.val();real_authors[used_num]=current_reply_to;if(isEditing){$('#comment-'+$('#edit_id').val()).replaceWith($newComment);$('#edit_id').remove();$('#edit_token').remove()}else{if(parentId&&parentId!=='0'){var $parent=$('#comment-'+parentId);if($parent.find('> .children').length>0)$parent.find('> .children').prepend($newComment);else $parent.append('<ul class="children">'+response.data+'</ul>')}else{if($('.comment-list').length>0)$('.comment-list').append($newComment);else $('#respond').before('<ol class="comment-list">'+response.data+'</ol>')}if($commentsTitle.length){var text=$commentsTitle.text().trim();var m=text.match(/(\d{1,3}(?:,\d{3})*|\d+)(?!.*\d)/);if(m){var raw=m[1];var number=parseInt(raw.replace(/,/g,''),10);var next=number+1;var formatted=raw.includes(',')?next.toLocaleString('en-US'):String(next);text=text.replace(raw,formatted);$commentsTitle.text(text)}}num++}PrismHighlightCode(document.getElementById('comment-'+realId));if(typeof PrismInitCodeFold==='function'){PrismInitCodeFold(document.getElementById('comment-'+realId))}var $successTip=$('<div>',{id:'success-tip-'+realId,class:'ajax-success-tip comment-tips',css:{display:'none'}});$('<img>',{src:pic_yes,alt:''}).appendTo($successTip);$('<span>').html('æäº¤æåï¼å·æ°é¡µé¢ä¹åä½ å¯ä»¥ ').append($('<a>',{href:'javascript:;',class:'ajax-edit-trigger','data-id':realId,'data-num':used_num,'data-replyto':current_reply_to,text:'忬¡ç¼è¾'})).appendTo($successTip);$('#comment-'+realId+' > .comment-body').after($successTip);$successTip.slideDown();$form[0].reset();if($('#author').length)$('#author').val(guest_info.author);if($('#email').length)$('#email').val(guest_info.email);if($('#url').length)$('#url').val(guest_info.url);if($cancelBtn.is(':visible'))$cancelBtn[0].click();var $parentComment=parentId&&parentId!=='0'?$('#comment-'+parentId):null;var $scrollTarget=$parentComment&&$parentComment.length?$parentComment:$('#comment-'+realId);$('html, body').animate({scrollTop:$scrollTarget.offset().top-20},800);countdown(true)}else{show_error_tip(response.data)}},error:function(xhr){var msg=extract_server_error(xhr.responseText);
5show_error_tip(msg||'æå¡å¨é误ï¼è¯·ç¨ååè¯ã')}})});function extract_server_error(responseText){var raw=$.trim(responseText||'');if(!raw)return'';if(raw.charAt(0)==='{'){try{var json=JSON.parse(raw);if(json&&json.success===false&&typeof json.data!=='undefined'){if(typeof json.data==='string')return json.data;if(json.data&&json.data.message)return json.data.message}}catch(e){}}var text='';try{var doc=new DOMParser().parseFromString(raw,'text/html');var $msg=$(doc).find('.wp-die-message');if($msg.length){text=$msg.text()}else if(doc.body){text=doc.body.textContent||''}}catch(e){text=raw}text=$.trim(String(text).replace(/\s+/g,' '));if(text.length>100)text=text.slice(0,100)+'â¦';return text}function show_error_tip(msg){$('#ajax-comment-wrap').stop(true,true);$('#ajax-comment-loading').delay(200).fadeOut(200,function(){$('#ajax-comment-error').find('span').text(msg).end().fadeIn(200,function(){setTimeout(function(){$('#ajax-comment-wrap').slideUp('fast',function(){$('#ajax-comment-error').hide();$('#ajax-comment-loading').show();if(wait<=0)restore_button()})},3000)})})}$(document).on('click','.ajax-edit-trigger',function(e){e.preventDefault();clearInterval(timer);restore_button();var commentId=$(this).data('id'),n=$(this).data('num');$('#success-tip-'+commentId).hide();$('.comment-list li, .children li').show();$('#comment-'+commentId).hide();if($('#author').length)$('#author').val(guest_info.author);if($('#email').length)$('#email').val(guest_info.email);if($('#url').length)$('#url').val(guest_info.url);var content=comm_array[n];$commentField.val(content);var replyTo=$(this).attr('data-replyto')||real_authors[n]||default_title;var parentIdForWP=$('#comment-'+commentId).find('.comment-reply-link').first().attr('data-commentid')||0;if(typeof addComment!=='undefined'){addComment.moveForm('comment-'+commentId,parentIdForWP,'respond',$('#comment_post_ID').val(),replyTo)}$('#comment_parent').val(parentIdForWP);$replyTitle.contents().filter(function(){return this.nodeType===3}).first().replaceWith(replyTo+' ');$('#edit_id').remove();$('#edit_token').remove();$commentForm.append('<input type="hidden" name="edit_id" id="edit_id" data-num="'+n+'" value="'+commentId+'" />');$commentForm.append('<input type="hidden" name="edit_token" id="edit_token" value="'+($('#comment-'+commentId).attr('data-edit-token')||'')+'" />');$cancelBtn.text('åæ¶ç¼è¾').show();$commentField.focus().each(function(){var len=this.value.length;this.setSelectionRange(len,len)})});$(document).on('click','#cancel-comment-reply-link',function(){var eid=$('#edit_id').val();if(eid){$('#comment-'+eid).show();$('#success-tip-'+eid).show();$commentField.val('')}$('#edit_id').remove();$('#edit_token').remove();restore_button();$replyTitle.contents().filter(function(){return this.nodeType===3}).first().replaceWith(default_title+' ');$('.comment-list li, .children li').show()})});jQuery(document).ready(function($){var WEISAY_AJAX_COMMENT_PAGING=true;if(!WEISAY_AJAX_COMMENT_PAGING){return}var pagingXHR=null;$(document).on('click','#commentpager a',function(e){var compageUrl=$(this).attr('href');if(!compageUrl||compageUrl.indexOf('?cpage=')!==-1||compageUrl.indexOf('&cpage=')!==-1){return}e.preventDefault();var $cancelReply=$('#cancel-comment-reply-link');if($cancelReply.length&&$cancelReply.is(':visible')){$cancelReply[0].click()}if(pagingXHR){pagingXHR.abort();pagingXHR=null}var post_id=$('#comment_post_ID').val();var page_id=1;var pathMatch=compageUrl.match(/comment-page-(\d+)/);if(pathMatch&&pathMatch[1]){page_id=pathMatch[1]}pagingXHR=$.ajax({url:compageUrl.replace(/\/$/,''),type:'POST',data:{action:'comments_page',postid:post_id,pageid:page_id},beforeSend:function(){document.body.style.cursor='wait';$('#commentpager').html('<em class="comment-ajax-page">æ£å¨åªå为æ¨å è½½ä¸...</em>')},success:function(data){$('#comment-ajax').html(data);if(typeof LiubaiFixPagination==='function'){LiubaiFixPagination()}PrismHighlightCode(document.getElementById('comment-ajax'));if(typeof PrismInitCodeFold==='function'){PrismInitCodeFold(document.getElementById('comment-ajax'))}document.body.style.cursor='auto';if(window.history&&window.history.replaceState){window.history.replaceState(null,'',compageUrl)}$('html, body').animate({scrollTop:$('#comments').offset().top-20},500)},error:function(xhr,textStatus){if(textStatus==='abort')return;console.error('è¯è®ºå è½½é误:',xhr.responseText);document.body.style.cursor='auto';$('#commentpager').html('<em class="comment-ajax-page-error">å 载失败ï¼è¯·å·æ°éè¯</em>')},complete:function(){pagingXHR=null}})})});function PrismHighlightCode(root){if(!root||typeof Prism==='undefined')return;jQuery(root).find('pre code').each(function(){Prism.highlightElement(this)})}function post_karma(comment_id,action_url,elem){elem.innerHTML="<i class='iconfont hearticon'></i>";var origin_karma=elem.getAttribute("data-karma");var new_karma=Number(!parseInt(origin_karma));var formData=new FormData();formData.append('comment_id',comment_id);formData.append('comment_karma',new_karma);jQuery.ajax({type:'POST',url:action_url,data:new URLSearchParams(formData).toString(),dataType:'json',timeout:10000,beforeSend:function(xhr){}}).done(function(data){if(data.code==200){elem.setAttribute("data-karma",
5new_karma)}else{alert('设置失败')}}).fail(function(jqXHR,textStatus,errorThrown){alert('设置失败(åå ï¼\''+textStatus+'\')ï¼è¯·ç¨ååè¯')}).always(function(jqXHR,textStatus){if(elem.getAttribute("data-karma")=='0'){elem.innerHTML="<i class='iconfont hearticon' title='å å
¥èµ°å¿'></i>"}else{elem.innerHTML="<i class='iconfont hearticon' title='åæ¶èµ°å¿'></i>"}});return false}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.