讓 Blogger 的「意見回應」可以有「作者回覆」 (最終版)



有很多網友反應【讓 Blogger 的意見回應可以有回覆】那篇,使用 ar.js 檔案需要有自己的 Web 空間,對於初階的網友有點難度。好人做到底,再做一個不用另找網站空間的教學。相信只要一步一步做都能成功的。


一步一步來

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="",h="",e,f,g,j={},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);j["c"+d]=g;h=l.test(e.innerText)?RegExp.$1:"";if(h==PostAuthor&&m.test(f.innerHTML)){if(replyID=RegExp.$2,replyMsg=RegExp.$3,j["c"+replyID])j["c"+replyID].innerHTML+='<hr noshade size="1" color="#e0e0e0" /><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>",e.style.display="none",f.style.display="none",g.style.display="none"}else k++;d='<a href="'+c+"&postBody=Re%3A%20"+encodeURIComponent(h)+"%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)return a.insertAdjacentHTML("AfterEnd",b),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}
window.navigator.userAgent.toLowerCase().indexOf("msie")<0&&(HTMLElement.prototype.__defineGetter__("innerText",function(){for(var a="",b=this.childNodes,c=0;c<b.length;c++)b[c].nodeType==1?a+=b[c].innerText:b[c].nodeType==3&&(a+=b[c].nodeValue);return a}),HTMLElement.prototype.__defineSetter__("innerText",function(a){this.textContent=a}));function HTMLDecode(a){var b=document.createElement("div");b.innerHTML=a;return b.innerText||b.textContent};
//]]>
</script>
<script type='text/javascript'>var PostAuthor=HTMLDecode(&#39;<data:post.author/>&#39;);</script>
</b:if>


 5. 按 [儲存範本]。


如何使用

1. 在登入的狀態下,每篇留言都有一個「回」字。點下去就能「回覆」了。


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

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



進階使用者

上面的程式碼為了減少 Size 經過 Closure Compiler 編排已經亂掉了。會 JavaScript 的人可以下載 ar.js 來修改或加強自己要的樣式風格。

103 個回應:

Connie WEN 提到...

留的言不見了第二次orz...是不能貼網址嗎?再留一次
您好!!您三種方法我都試過了;除了第一個不成功外,使用ar.js和現在這個的時候,作者回應還是會變成普通回應,
我的步驟一直到「如何使用」的『2. 回覆畫面第一行 Re: ... 不能刪掉唷,要從第二行開始打「回覆內容」。回覆完記得按下 [發表您的意見] 送出。』
這裡,但作者回覆送出之後還是變成一般留言。可以請問為什麼會這樣嗎? 真的非常感謝!!

Sean Lin 提到...

Re: Connie WEN <8994382272065961878>
好怪! 我有收到信卻沒看到你的留言!
不過我知道你的問題,因為我程式是針對中文語系!
過幾天我有空再幫你看一下解決方法。
你可以 [下載完整範本] 寄到我的 email 信箱給我嗎?

Connie WEN 提到...

我寄出去了!!那是我所套用的頁面範本,請查收一下謝謝!!

Asahi 提到...

由衷感謝您…
為了這個功能我瘋狂地造訪您的BLOG,也測試了許多方式…
卻總是失敗呢?

剛剛我回應了自己娃娃BLOG中的留言,原本也是有出現Connie Wen網友提到的問題,後來我試著在第二步驟時,用Shift+Enter代替原本慣用的ENTER,問題就迎刃而解了…

真的很謝謝噢!

Sean Lin 提到...

Re: Connie WEN <9139827432013423947>
我剛剛改了程式, 你再重貼一次看看!

Sean Lin 提到...

Re: Asahi <3943632264745716374>
昨晚我又修改程式了,你再試看看只按Enter可不可以。如果不可以留下來,告訴我網址我去看看。

Asahi 提到...

喔喔,謝謝嗄,我剛測試過,只按ENTER已經可以了~!!
大恩大德無以為報,只有幫忙宣揚…這個功能終於有人做出來了~~撒花~XD

Connie WEN 提到...

我重貼了,不過還是一樣....orz,奇怪,步驟應該沒錯的說。也試過了Shift+Enter,不過我注意到在「如何使用」的第二步驟中,我回覆的地方只有代碼,沒有人名耶....但還是非常謝謝!!不好意思我問題一直這麼搞怪orz

Sean Lin 提到...

Re: Connie WEN <642046046559483549>
我用 FireFox 看你的 blog 有其他 JavaScript 錯誤。造成我的程式無法繼續執行。

Connie WEN 提到...

我開了一個新的blog測試,發現原始甚麼都不動到的狀態下是成功的! 這跟範本之間可能也有點關係,或我不小心動到甚麼。非常感謝你!!!

希望麥籽 提到...

正好需要這個功能,測試後完全成功。感謝!

Lynn 提到...

謝謝您
我成功了^^
真的很好用~

Ying 提到...

謝謝您!我剛剛也是一試就成功了,不過請問一下要怎麼把"回"那個字修改成reply或其它的文字呢?謝謝!

Sean Lin 提到...

Re: Ying <6000557561409727494>
修改「回」字是「\u56de」,可直接修改成你要的中英文字。
「作者回覆」是「\u4f5c\u8005\u56de\u8986」,全型的「:」則是「\uff1a」。

Ying 提到...

Sean您好,真的非常感謝您的回覆!我剛剛重新試了一次,但是我回覆的地方和Connie一樣,也只有出現代碼卻沒有人名。另外就是並沒有顯示"作者回覆"的字樣,看起來和一般人回的相同,請問是我什麼地方弄錯了嗎?謝謝您的回答!

Sean Lin 提到...

Re: Ying <6628753897107516642>
你頁面中的 Recent Posts 及 Recent Comments 有 Javascript 錯誤,造成程式中斷沒辦法進行下面的程式。

Ying 提到...

請問這有辦法修改嗎?非常感謝!

Sean Lin 提到...

Re: Ying <7886515663068958508>
我不知道你的程式哪裡來的, 先把這兩個功能拿掉試看看!

Ying 提到...

我剛剛拿掉了,但重新試過還是一樣的問題耶!
那個recent posts和recent comments用的都是blogger內部的小程式/__\

Sean Lin 提到...

Re: Ying <5723861162117961159>
換 Flickr 的有錯誤! >_<

Ying 提到...

汗...我移除了flickr的還是一樣...Orz..flickr的程式碼來自flickr官方

Sean Lin 提到...

Re: Ying <4703906296160549439>
終於沒錯了,剛剛我又修改了程式,你再換一下。重貼程式碼。

Ying 提到...

終於成功了!!真的太感激你了:D不好意思讓你忙了這麼久....
順便請問一下如果想要把"作者回覆"前面的圓點拿掉是不是要刪掉\u25cf這個code呢?謝謝!!

Sean Lin 提到...

Re: Ying <1668732549750486046>
\u4f5c = 作
\u8005 = 者
\u56de = 回
\u8986 = 覆
其實你可以把那一整段文字改成你要的中英文字。

Ying 提到...

謝謝!我已經修改了那段文字,但如果想要刪掉前面那個黑色的圓點呢?

Sean Lin 提到...

Re: Ying <4517932399350016306>
把 \u25cf 刪掉!

Ying 提到...

終於修改完成了,真的非常謝謝您分享這麼好的東西,還義務幫忙測試!

Martin 提到...

大哥,意外發現您的這個教學,我的部落格也可以回覆了,真是太感謝您了!

KituneN 提到...

非常好用...!!!真是非常感謝您的教學!!!QQ

chieh 提到...
作者已經移除這則留言。
Offliner W. 提到...

完美運行,一點小問題
1.作者回覆的顏色要改是哪串編碼?
2.回覆底圖的顏色如何修改?(現在是鵝黃色)

改謝作者提供的方法

Offliner W. 提到...

Re: Offliner W. <6889432452971703253>
我已經自己搞定了,多謝

Sean Lin 提到...

Re: Offliner W. <1835214840342020922>
很棒唷!

woo 提到...

hi~Sean
我蠻久之前就套用您外連ra.js那個教學,當初安裝在ff測試都沒有問題,也沒在其他瀏覽器測試@@
今天心血來潮在IE跟Chrome測試結果都失敗,可是你的網站測試是沒問題的,後來也套用你這篇新的教學,情況還是一樣@@
不知道是哪裡出了問題,可以麻煩您幫我看看嗎?感激不盡~
測試頁面http://oldwoo.blogspot.com/2010/03/blog-post.html

Sean Lin 提到...

Re: woo <3472596783423284045>
你的頁面裡面有一行
jQuery("img").fullsize([]);
發生錯誤!
你可以在IE下按 F12, 選「指令碼」頁籤就可以看到錯在哪裡了。

woo 提到...

Re: woo <3472596783423284045>
Hello Sean~
感謝你的協助,IE已經正常顯示了,今天又上了一課,不過Chrome仍然抽筋中..@@
,不過還好IE使用者仍是大眾,有時間再來慢慢除錯,感激不盡~

慵懶左岸 提到...

大哥!求救!我將程式碼放上了,但是我測試了一下回復,怎麼跟大哥你這邊回復的不太一樣呢QQ?
可以請大哥幫我看一下嗎?對了我是用火狐的。
http://easecoffee.blogspot.com/2011/01/mac-type-v12.html

Pelu 提到...

版主你好,我研究了一下還是找不太出來一個問題的解答在哪裡,想來請教您一下

就是我BLOG最頂頭有照片那一塊,因為覺得照片顯示的區塊太扁,我想將可顯示高度增加,但卻不知要去修改HTML的哪一塊數值才對

Bing's blog 提到...

樓主!
我套用了您的功能但卻沒看到回覆這個東西...

ChiaLi 提到...

好感謝!!我成功了~~YA

運醫控 提到...

謝謝你
幫助好大!

阿榮..Celia 提到...

感謝你的分享
一試便OK
謝謝

Vic 提到...

超感謝!一試就OK!

匿名 提到...

看得比較清楚,也安裝成功,太感謝了!

Martin 提到...

大哥您好,
照著您的方法順利有回復的功能,但如果使用IE就會在第一則回覆重複出現三次,而使用Chrome瀏覽一切正常. 不知哪裡出了錯?
網頁如下:http://food-funs.blogspot.com/2011/03/blog-post_15.html

還有一個問題, 在我使用Chrome按下每篇文章底下的"2意見"時(#comments),進入到該文章時會造成頂端版面亂跳,而IE卻正常.
以上問題感覺好像是Chrome與IE不相容...

一次問那麼多問題,真是不好意思。請您幫小弟看看,萬分感謝!

serena 提到...

謝謝分享
IE跟chrome都試成功了
感謝~^^~

月璃 提到...

非常感謝,這樣Blogger終於有回覆功能了(擦淚
請問可轉載嗎? 謝謝

TUNE 提到...

謝謝分享~ 容我大驚小怪一下!Sean你真是太神奇了! XD

點點 提到...

謝謝分享!!! 這個時在是太好用了!!

此篇文章能轉載嗎?

Lonyice 提到...

沒成功,所以拿掉了。

Hsing 提到...

嗚嗚~~看到其他人成功好羨慕喔!! 我用了以上的語法,但我回覆的時候還是變成一般留言了~怎麼會這樣~

是不是我其他的語法有錯誤~導致不能使用呢?!

我的blog是: http://ewighsing.blogspot.com/

可以麻煩你幫我看看嗎~?!

Sean Lin 提到...

Re: Hsing <5259927408461732743>
剛去看你的 Blog, 你並沒有把程式碼加上去唷!
還有回覆的也暫時留下,我可以幫你檢查一下。

Lonyice 提到...

http://www.lonyice.net/2009/03/blogger.html

我重裝了一次,依舊沒有成功,可以幫我看一下嗎?

Sean Lin 提到...

Re: Lonyice <7765765896604069146>
在你的網站上我看不到你加的程式碼呀!
你是不是拿掉了?
此外你的每個留言怎麼都有 [回覆] 鈕?

Lonyice 提到...

沒有耶,我沒拿掉

那個回覆的是面板預設的
沒有甚麼功能的東西

Sean Lin 提到...

Re: Lonyice <9004771690535998994>
真的沒有我的程式碼呀! 你可以試看看在你的網頁上按右鍵 [檢視原始碼], 搜尋我程式裡的關鍵字 initializeAuthorReply 真的找不到呀!

Lonyice 提到...

我自己看有耶,回字都有出現阿。
如果不行的話那就沒辦法了,只好放棄此功能。

Sean Lin 提到...

Re: Lonyice <1762828100862142086>
追縱你的程式碼發現你掛太多東西了,而且有些有錯誤,造成無法執行下去。很抱歉現在無法幫您解決,過些時日我比較有空時,我會改寫讓相容性更高一點。到時您再試看看囉。

無聊的人 提到...

您好:我的網站有別種作者回應 可是我發現
我舊的作者回應不能和您了作者回應用在一起
我想要的功能是我點"回"就會出現像您一樣的作者回應
如果不點回就會分開來的 像非作者回應

George Yen 提到...

感謝你的分享,找了好久終於讓我找到了

張小仙 提到...

成功了,好強啊 @@
感謝教學分享 ^^

Siang 提到...

您好, 謝謝您的分享
請問是否可以將您的教學文轉貼至我的blogger?
會標明作者與出處來源, 謝謝!

Sean Lin 提到...

Re: Siang <809715539153719946>
歡迎呀! 這本來就是要分享給大家的。

小毛兒 提到...

謝謝,解決了我長久以來的困擾,您真是佛心來著~!!

棒X肆 提到...

超感謝的!!! 這真的是太棒了!!!

Cookies 提到...

您好,文章中提及的方法我已經測試成功了~
不過有個小問題,假設現在有兩個人回覆了,我也對這兩個人做回覆了,實際上只有兩個人回,但在網誌上面是顯示四個意見呢... 請問這有辦法可以改嗎@@

凡雲 提到...

我用了之後有出現回覆紐,
但是回覆之後沒能顯示出版主回覆...
請問可以幫我看一下嗎?
http://glenna1106.blogspot.com/2011/08/100.html
我的部落格~

ChieH 提到...

真是太謝謝你了 成功了~

k哩 提到...

你好
我試了這個方法三次了 可是都不成功耶
我不知道是哪裡做錯了
好苦惱
可以請你幫幫我嗎???
謝謝

WFU 提到...

感謝 Sean大 的大作,使用得很愉快,「作者回應」的功能無人能出其右。如果需要加上留言編號的話,歡迎來我家逛逛。

肉肉【ZOZO】 提到...

你好!首先感謝您的分享!
按照步驟一步一步做,但是回覆後卻變成一般的回應,不知哪裡出錯? 可以幫我看一下嗎? http://zozojin.blogspot.com/2011/09/blog-post.html#comments
我會另外寄一份完整範本到你的信箱,拜託你了!萬分感謝!~~

TurtleChiu(小龜) 提到...

感恩,照著步驟弄,已完成了.

Niko Lu 提到...

不好意思!雖然上面有人提問了,不過我還是找不到改底色的地方,而且回的無文法刪除,按垃圾桶會刪掉主文 Q_Q



http://www.nikolu.com/2011/11/dungeon-defenders-2.html

Niko Lu 提到...

不好意思 顏色我也找到了 不過還是找不到可以直接刪作者回復的方法 只能去後台刪除嗎?

Niko Lu 提到...

而且我有發現一個問題 是否一則留言只能用一次作者回復 第二次回一樣會成功 不過會被蓋掉 無法顯示

Sean Lin 提到...

Re: Niko Lu <4854376297309430585>
你也可以在按任意一個「回」之後, 右邊看到列出的所有展開意見中刪除。

Sean Lin 提到...

Re: Niko Lu <6201952393628704456>
測試一。

Sean Lin 提到...

Re: Niko Lu <6201952393628704456>
測試二。

Sean Lin 提到...

Re: Niko Lu <6201952393628704456>
好了! 我有修改過程式碼了,現在可以多重回覆了。

KuangTC 提到...

正好在找這個blogger hack,看到您做的這個真的很不錯,還能多重回覆,實在是太神了!!!!
謝謝您的分享!!!!!

~ORεo~......ωoO○o 提到...

您好!!請幫幫我!!我試了好幾次,不知道怎搞的,雖然有回覆字出現,但是實際回覆後就像一般意見出現在最下方,無法針對某個意見在其下方做回覆。可以幫幫我嗎。。。。苦。。。。測試網址:http://menstrual-cup.blogspot.com/2011/11/shewee.html#comments

Sean Lin 提到...

Re: ~ORεo~......ωoO○o <2266997468974334673>
哈!因為你的作者名字有奇怪的字元。
不過我已修正這問題了,請你再重貼一次程式。

IAmSoAriel 提到...

你好,我剛剛嘗試一直失敗好難過...我是用舊版的編輯模式。

每次想要儲存或預覽的時候就會出現 錯誤,內容大概是說我的結構不完整,還有XML語法沒關閉? 說b:if 開頭的語法必須用結尾。

但是我檢查後,十分肯定我有把您最後的一同複製進去,卻總是不能成功>_<

能不能麻煩您幫我看一下? iamsoariel.blogspot.com
非常感謝!!

Sean Lin 提到...

Re: IAmSoAriel <9139849384083756084>
不好意思, 我沒檢查, 出了點小問題, 我改過了你再重貼一下。

IAmSoAriel 提到...

謝謝你~~>_< 我成功了!! 感恩~<3

Sean Lin 提到...

Re: IAmSoAriel <5922444325937894372>
恭喜!!

匿名 提到...

版主您好
我用了此功能但版面似乎不為所動 = ="
沒有看到作者回覆的這個功能出現
請問我應該要怎麼改才能看到呢? 謝謝 :)
我的部落格
http://donkeycody.blogspot.com/2011/11/tt.html?showComment=1321141505288#c7193589115714999191

匿名 提到...

我已經把整個HTML都寄過去給您了 麻煩您 謝謝><

Sean Lin 提到...

Re: 匿名 <7933261172423843736>
檢視你頁面的原始碼, 你的頁面並沒有包含我的任何程式碼唷!

提到...

版大你好, 我發現自製程式ID3 那個頁面一進入就會死當

不論是IE或Chrome

想請版大看看^^

Sean Lin 提到...

Re: 翔 <7695093866132743133>
問題解決了, 謝謝你!

OREO 提到...

大哥~~~~我重新貼了結果還是不行,更慘!本來還有回字,只是不能針對某意見回覆而已,現在連回都不見了!為了這個我還把作者的名稱改成沒有奇怪的字元,但是還是不行耶!幫幫我吧~pls

Sean Lin 提到...

Re: OREO <7997184755466593774>
看來沒什麼錯! 你要登入才有 回 字唷!

OREO 提到...

當然有登入啊!!!但是真的沒有"回"字!!!SOS!!!!

甜芋妮 提到...

YA,可以耶
太感謝了

ICE奇謀人 提到...

非常貼心的功能,多謝分享!

Sean Lin 提到...

Re: OREO <1000731438911863699>
會不會你前後作者的名字不同所以不能 "回"。
你用這個新名字貼一篇新的blog,然後留言,看能不能回?

Sean Lin 提到...

Re: ICE奇謀人 <8409561880406857685>
你的文章也很棒唷! 理念跟我很像。

ICE奇謀人 提到...

謝謝~很高興遇到理念相近的人,以後我也會多來轉轉``

女孩 提到...

Sean大您好
我貼了您提供的語法
但版面沒有出現「回」字>"<
沒有顯示xml語法錯誤的訊息 但就是沒有成功
已將整個樣式HTML寄至sean.tw+blog@gmail.com
懇請您幫忙 感激!

肉肉【ZOZO】 提到...

YA!!終於可以了!真的太感謝你了!

暗い武 提到...

你好這是我的blog http://kuraitakeshi.blogspot.com/

我一樣是沒有"回",請問跟我的暱稱含日文有關係嗎?

謝謝

appleseedshop 提到...

因為是新手,所以不知道調哪個地方才是我要的,所以只好調一次預覽一次,慢慢改。
調的過程中,最常發生的是:前一次預覽都OK的,再調一次時只改了顏色,結果整個格式都跑不出來,ex."回"字沒了,或是變成我的帳號在回覆,而非以版主的身分回覆...
只好重新載入模板,重頭再來,
結果後來變成: 第一次背景選Brown是我要的顏色,第二次居然變成詭異的酒紅色... 囧""
真是搞不懂呀!!!
花了2.5個小時在奮戰,總算達到可以接受的程度... ><

謝謝您的分享!! :)

奮戰結果~~ (不過還是沒有顯示我要的顏色@@)
http://appleseedshop.blogspot.com/2011/10/blog-post.html

張貼意見