搜尋此網誌

2011年4月17日 星期日

製做Blogger作者回覆的功能

文章轉載於:Sean's Blog Sean's Blog - 讓 Blogger 的「意見回應」可以有「作者回覆」 (最終版)

很開心,本文得到作者的同意可以轉載。

Blogger中的張貼的意見(回應)都沒有「作者回覆」的功能,以下就來自己手動做一個解決方案。

一步一步來

1. 進入 設計 → 修改 HTML。

2. 勾「展開小裝置範本」。

3. 搜尋「<b:includable id='comments' var='post'>」。


4. 在它的下一行插入(貼上)下面的程式碼。
<b:if cond='data:post.allowComments'>
<script src='http://www.google.com/jsapi' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
google.setOnLoadCallback(initializeAuthorReply);
function initializeAuthorReply(){var a=document.getElementById("comments").getElementsByTagName("H4"),b=document.getElementById("comments").getElementsByTagName("A"),c="";if(document.getElementById("comment-editor-src"))c=document.getElementById("comment-editor-src").href.replace(/-iframe/,"");else for(i=0;i<b.length;i++)if(b[i].href.indexOf("/comment.g?")>0)c=b[i].href;var l=/\s*(.+)\s+?(?:\u63d0\u5230|said)/i,m=/^\s?<p[^>]*>\s?Re:\s*(.+?)\s*&lt;(\d+)&gt;<br\/?>((?:.|\n)+)<\/p>\s?$/i,n=/postID=(\d+)/,
d="",j="",e,f,g,h={},k=0;for(i=0;i<b.length;i++)if(b[i].href.indexOf("/delete-comment.g?")>0){d=n.test(b[i].href)?RegExp.$1:"";e=document.getElementById("c"+d);f=nextElement(e);g=nextElement(f);h["c"+d]=g;j=l.test(e.innerText)?RegExp.$1:"";if(j==PostAuthor&&m.test(f.innerHTML)){replyID=RegExp.$2;replyMsg=RegExp.$3;if(h["c"+replyID]){h["c"+replyID].innerHTML+='<hr noshade size="1" /><div align="left" style="background-color: lightyellow; padding: 4px">\u25cf<b style="color: blue">\u4f5c\u8005\u56de\u8986</b>\uff1a'+
replyMsg+'<br/><div align="right" style="font-size:8pt; color:darkgray">'+g.innerText+"</div></div>";h["c"+replyID]={};e.style.display="none";f.style.display="none";g.style.display="none"}}else k++;d='<a href="'+c+"&postBody=Re%3A%20"+encodeURIComponent(j)+"%20%3C"+d+'%3E%0D%0A" style="font: 9pt Arial; color:#8a8a8a" title="\u56de\u8986\u610f\u898b">\u56de</a>';afterEndHtml(b[i],d)}a[0].innerHTML=a[0].innerHTML.replace(/\d+/,k)}
function replyEmbedComment(a,b){var c=c+="&postBody=Re:+"+encodeURIComponent(a)+"+<"+b+">";location.href=c}function afterEndHtml(a,b){if(a.insertAdjacentHTML){a.insertAdjacentHTML("AfterEnd",b);return a.nextSibling}var c=a.ownerDocument.createRange();c.setStartAfter(a);c=c.createContextualFragment(b);a.parentNode.insertBefore(c,a.nextSibling);return a.nextSibling}function nextElement(a){return a.nextElementSibling?a.nextElementSibling:a.nextSibling}
if(window.navigator.userAgent.toLowerCase().indexOf("msie")<0){HTMLElement.prototype.__defineGetter__("innerText",function(){for(var a="",b=this.childNodes,c=0;c<b.length;c++)if(b[c].nodeType==1)a+=b[c].innerText;else if(b[c].nodeType==3)a+=b[c].nodeValue;return a});HTMLElement.prototype.__defineSetter__("innerText",function(a){this.textContent=a})};
//]]>
</script>
<script type='text/javascript'>var PostAuthor=&#39;<data:post.author/>&#39;;</script>
</b:if>



2. 回覆畫面第一行 Re: ... 不能刪掉唷,要從第二行開始打「回覆內容」。回覆完記得按下 [發表您的意見] 送出。

3. 如果回錯也可以刪掉重回。

補充:
\u4f5c = 作
\u8005 = 者
\u56de = 回
\u8986 = 覆
可以把那一整段文字改成自己要的中英文字。

3 則留言:

網站解析度請使用1920x1080
Sitetag創用 CC 授權條款
无觅相关文章插件,迅速提升网站流量