新方法改起來比較容易囉,見 ar.js 檔案。
以下文章都是舊方法。(02/2010)
Blogger 中的張點的意見(回應)都沒有「作者回覆」的功能,剛剛 hack 一下... 終於有了。
曾看過其他解決方案,但要申請第三方留言版來外掛。
我的方法不用另外申請,直使用 Blogger 資料庫。
版面配置 → 修改 HTML → 勾「展開小裝置範本」「下載完整範本」後,用習慣的編輯器來改。
修改後再上傳。最好是能把最原始範本保留一份起來,免得改錯了來找我。
注意,每個人的 Template 或許不同。紅色為新增部份。<script type='text/javascript'> function authorReply(CID) { var strBody = document.getElementById(CID).innerHTML.replace(/Re:\s*.+\s*&lt;(\d+)&gt;\s*<BR\/?>/i,''); var strOut = "<div style='background-color: bisque; padding: 4px'><b>作者回覆</b>:<br/>"+strBody+'</div><p/>'; if(RegExp.$1) document.getElementById('RID'+RegExp.$1).innerHTML = strOut; else document.write(strOut); } function replyEmbedComment(CN,CID) { var url = document.getElementById('comment-editor-src').href.replace(/-iframe/,''); url += "&postBody=Re:+"+escape(CN)+"+<"+CID+">%0D%0A"; location.href = url; } </script> <dl id='comments-block'> <b:loop values='data:post.comments' var='comment'> <b:if cond='data:comment.author == data:post.author'> <div expr:id='"CID" + data:comment.id' style='display:none'><data:comment.body/> <span style='font: 7pt Arial; color:#8a8a8a'>(<data:comment.timestamp/>)</span> <b:include data='comment' name='commentDeleteIcon'/> </div> <script type='text/javascript'> authorReply("CID<data:comment.id/>"); </script> <b:else/> <dt expr:class='"comment-author " + data:comment.authorClass' expr:id='data:comment.anchorName'> <a expr:name='data:comment.anchorName'/> <b:if cond='data:comment.authorUrl'> <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a> <b:else/> <data:comment.author/> </b:if> <data:commentPostedByMsg/> </dt> <dd class='comment-body'> <b:if cond='data:comment.isDeleted'> <span class='deleted-comment'><data:comment.body/></span> <b:else/> <p><data:comment.body/></p> </b:if> </dd> <dd class='comment-footer'> <span class='comment-timestamp'> <a expr:href='data:comment.url' title='comment permalink'> <data:comment.timestamp/> </a> <b:include data='comment' name='commentDeleteIcon'/> <span expr:class='"item-control " + data:comment.adminClass'> <b:if cond='data:post.embedCommentForm'> <a href='#comment-form' expr:onclick='"replyEmbedComment(\"" + data:comment.author + "\",\"" + data:comment.id + "\")"' style='font: 9pt Arial; color:#8a8a8a'>回</a> <b:else/> <b:if cond='data:post.allowComments'> <a expr:href='data:post.addCommentUrl + "&postBody=Re%3A%20" + data:comment.author + "%20%3C" + data:comment.id + "%3E%0D%0A"' expr:onclick='data:post.addCommentOnclick' style='font: 9pt Arial; color:#8a8a8a'>回</a> </b:if> </b:if> </span> </span> </dd> <dd class='comment-reply'> <span expr:id='"RID" + data:comment.id'/> </dd> </b:if> </b:loop> </dl>

完成之後....
在使用者登入的情況下在每篇「意見」後面都會多一個「回」字。用力點下去就對了!

寫回覆內容時,自動出現的第一行要留起來唷。不然就會變成普通留言。

118 個回應:
Re: 匿名 <4008937900424171564>
不好意思,貼過個文:
一是想試一試如果不是作者回覆會如何,
二是想告訴您,blgger說我的碼有問題,應該是第一段中的br字樣出了問題,它說一定要在br後加/> or >
請問是出了甚麼問題呢?
p.s. 謝謝分享
Re: (練)Ge武Nius <8703341397870964161>
不是作者回覆就像你回的這樣樣!
第二個問題我沒遇過。
還是不行,請問你有沒有其他參考網站可以供我自行研究一下
Re: (練)Ge武Nius <3499112454602060121>
我是看它的原始碼,自己找出變通的方法。並沒有參考任何網站。
等我有空我再來改寫用另外的方法做同樣的功能。直接改原始碼可能對不會程式的人有點難度。
HI我想要有這個功能~~可是一直失敗@@
哇嗚~~不知道那裡出了問題
我好喜歡您這個功能呀! 可惜我也遇到了問題BR需要> or /> 結尾的問題
希望有機會看您出新的版本喔!
謝謝
Re: Simone <1349153652381810771>
你把第一行的 var strBody = ...
裡的 < BR... > 刪掉看看
我把第一行的 var strBody = ...
裡的 < BR... > 刪掉了
可是變成"語法不完全"
希望你可以再修改看看
我好想要這個功能
不然都不曉得回覆的人士版主
大力感謝!!!
Re: _NING_ <5138317545921706620>
剛剛再測試一下發現 Blogger 的HTML字元跳脫方式改變了。
我有修改我的程式碼,你再試一次看看。
拜謝!等了那麼久今天終於成功了!
(  ̄ー ̄)ノ■☆■ヾ( ̄ー ̄ ) 乾杯
成功了!!!!!
超級感謝~~~!
觀迎來我的部落格參觀參觀
www.reddyduck.blogspot.com
不過你是怎麼把作者回覆的底圖跟上一個人的日期隔一行啊??
可以教我怎麼把訪客留言跟作者回覆的"日期"放在"下一行"的"右下角"嗎?
感激不盡!!
Re: _NING_ <1159090615009822371>
要改位置我沒實際試過,我的自然就有空一行了,可能是每個人的 CSS 不同吧。
你要多空一行就只是HTML語法而已:把我的程式碼 copy-paset 文字編輯器上,收尋『回</a>』,在後面加上多加幾個<br/>。
不過建議你改 CSS 比較好。
日期要在右下角也是改 CSS 的 .comment-timestamp
嗯嗯嗯
我再試試看,感謝你瞜
不過他的回覆功能好像只是看起來像回覆功能
如果兩個訪客連續留言就無法針對特定的人回覆內容了吧?
不過還是很感謝你喔~~
Re: Reddy Duck <1243872935479409220>
可以唷!
你可以用匿名多留幾筆看看。
想回那一筆只要在該筆下面的『回』點一下就可以回覆了。
Re: (�?Ge武Nius <2877935153769884645>乾杯
Re: 匿名 <5739246665886096584>
用IE回就會有這樣的亂碼!
我都用 FireFox
Re: 匿名 <4008937900424171564>好像有問題耶,沒法針對某一個人回應
Re: helper <1546361623754571757>
只要在每個留面垃圾筒後面的「回」字按一下就以個別回覆了!
你好 我研究了一會
弄了算是差不多了
可是 個別回覆的地方還是小有問題?
因為如果我點了"回"他沒有反應
如果我是另外開啟新網頁 他會再打開一次同一個頁面
我不清楚哪裡弄錯了?
感謝
Re: Zin <4495071072206452944>
很不錯的功能
你好歡迎前往參觀8搜啦CSOL交流論壇
http://www.8sola.cn/?fromuid=12369
有許多cs online的遊戲內容,外掛,巧等許多討論分享介紹,歡迎前往參觀
http://www.8sola.cn/?fromuid=12369
我已經加入了你提供的程式碼,但都不能做到回應,我有什麼出錯?
http://stupidtat.blogspot.com/
Re: Tat <5164845407871384749>
因為沒人「留言」呀!
要等有人留言你再按那個留言下的「回」。不然怎麼叫「作者回應」。
看到了效果了...謝謝你,
我原來以為是可以揀選意見來回應,
但原來如果之前多過一個回應,就不能一個一個似的回覆!
Re: Tat <7644043879985285875>
多個意見也可以呀,每個意見下面都有一個「回」。看你要回哪一個就按哪一個。
差一點看不到,太感動.........
謝謝你....
我看看怎麼更改必的格式....
您好~這個方法似乎適用於xml
那如果我的是html的(最傳統未更新成beta版)請問也可以用嗎@@
Re: 匿名 <4008937900424171564>
請問大大
要如何直接在文章下方列出全部的意見?
blogspot若使用版面配製,文章的default是一篇接一篇
不知如何排成 [文章-全部意見]-[文章-全部意見]-[文章-全部意見]...
感謝!!
Re: the pale blue dot <2665495373312547351>
@@
感謝您的分享>//<
我用的很開心~
想請問可以改底色嗎@@
因為我家網誌是黑底淺色字
淡橘色的背景會看不到字XD"
我想說改色碼但是都沒看到那淡橘色的色碼
再次謝謝您OWO/
Re: 勾牒WiKim <7770235058652135663>
有呀
background-color: bisque可以改成 # 開頭的 RGB值。
OK了~感謝您:D
請問Sean兄
我跟樓上的zin一樣的情形
不知道問題出在哪邊 能幫小弟看看嗎?謝謝
你好,試玩了一下這個功能,發現它好像只有在意見欄選擇外嵌時才能生效,如果是使用內嵌留言版的話就沒有反應,請問要如何修改讓它在內嵌留言版使用呢?
謝謝:)
真是很感謝你分享這個方法,我也遭遇和zin一樣的問題耶!雖然出現了「回」,不過點下去卻沒有什麼反應,是blogger又改了什麼碼嗎?可不可以麻煩版主幫幫忙?
Re: peggy <4227128677052199567>
你的 blog 網址是?
我看看你有沒有設錯?
這是我的網址:http://createdfromheart.blogspot.com/
感謝了!
我剛剛又重設了一次,發現我用留言方式留的答覆都會變成回覆方框,不過如果單點「回」字還是沒有動靜,因此變成只能回覆最下一則留言了,再麻煩您看看。
Re: peggy <8980584190317349521>
我修改了程式碼, 讓各種意見都可以按「回」了。
Re: fiore <275571396543876662>
...
Re: the pale blue dot <2665495373312547351>
不太懂!
成功了!真是太感謝您,謝謝。
請問為何我更改後,還是沒辦法回覆耶
我按回那各字,它就會說網頁發生錯誤
這樣是什麼意思啊?謝囉
Re: 匿名 <5228926289825593561>
你的 blog 網址是?
我去看一下!
哇哇!
你真厲害,寫出這樣的程式。
讓我的blog有作者回應的功能,
讓我看留言更清楚。
Thanks a lot!
您好,日前曾參照您的方法寫了一篇稍微補充的教學文章,但未曾事先知會您,因此藉由此意見請您允許轉錄,若您覺得不妥,請告訴我,我會將該文移除,也謝謝您的大方分享。
Re: Jeter le poète <4027454733133571988>
放在網路上的東西就是要廣為分享,沒有什麼不妥的。
感謝愛用,我跟你一樣是網路業,偏程式技術方面。
您好,有問題想請教,目前在弄一個新的blog,也是在blogger上面,但是套用的模板在回應的部份是把回應欄位直接加到文章下方,因此原本的修改方式就無效了,如果您有空的話,想請您幫忙看看怎麼修改能夠運作?謝謝~
我是套用這個版面 http://btemplates.com/2009/08/01/evidens-white/
成功了,謝謝
Re: gabriel <691926080262756503>
恭喜!
您好,我使用了您提供的語法後,之前的作者回覆都消失了,但這些回覆確實都還存在,點選回應者的日期連結就會出現完整的回應(意見數量上也沒有錯, 點選後就是會少掉一些回應)。
不然就是需要重新整理多次後,才會出現所有的作者回覆,不過失敗的次數居多,我用了firefox、ie、chrome測試都是差不多的情形。
如您方便,可否為我看看,不方便也沒關係,還是非常感謝您,我再換回原來模式就好了。
謝謝您!
Re: 湘琴的老公 <3206437112347060994>
請問您的 blog 網址是?
不好意思,http://ivan1119.blogspot.com/2009/09/blog-post_12.html,主要問題都出在這篇文章的回應上,時出現、時消失的,麻煩您了。
<5810613943660233192>
那就麻煩您了,謝謝!
我也有遇到之前自己回覆的意見消失的問題。
另外如果再同一篇文章新增意見而不是針對某意見回覆的話,該意見會直接取代前面的作者回覆。
TEST
Re: Sean Lin <7049471990850730844>
再回一次
對不起喔,我照你的方法弄了一下
雖然我套用成功了,但是按回時卻沒有出現自動跑出來的第一行,我回覆後也看不到自己回覆的留言
(今天blogger官方好像有更新的樣子)
謝謝你寫這麼詳細的教學喔
Re: matif <1814143071495161286>
我有預感之前的方法不是長久之計。我又換了另一個新的方法,全部使用JavaScript完成。你先把這個 JavaScript 存到自己的免費空間再連過去吧!
http://s.o4u.com/host/blog/ar.js
(不要直接連來我這裡,浪費我的頻寬,我位子可能會換)
Re: matif <1814143071495161286>
抱歉喔 我剛剛沒說到我的問題示按作者回覆時他不會有彈出視窗,而是直接移動內崁式回覆,也沒有第一行
對不起沒說清楚
然後,有一個很笨的問題上傳js後要怎麼連上去啊
Re: matif <2057712317820747536>
Sorry,忘了跟你說JS的檔案開頭註解有安裝說明。
非常感謝你,我成功了喔~
Re: matif <3463838713447818409>
恭喜囉! 呵~ 新的方法你應該是第一個使用的唷!
請問我想要加入這個程式,但我沒有編輯器,該怎麼辦?
Re: 奇異果 <7956432856394806610>
不用編輯器呀!
那我該如何加入?
Re: 奇異果 <524185331744666660>
上面有寫呀!
成功了,但再請問一個問題,請問你格子怎麼畫的?
你好,請問一下如果換模版,是不是會有插入失敗的問題呢?
Re: 奇異果 <3211466891540767562>
使用 JavaScript 只需依照檔案開頭的註解加入幾行程式碼即可。不會有問題。
那如果沒有呢?
又是我,不好意思
這是我的blog網址:http://kiwiqq.blogspot.com
在安裝這程式以前的留言後面都沒有出現「回」這字
是我哪邊有問題嗎?
我真的很喜歡你發表的這個主題^^拜託囉.....
Re: 奇異果 <7839519741596221507>
並沒看到你在範本裡加入我的程式碼呀!!
Re: 奇異果 <7839519741596221507>
你沒看樓上的回覆,加 ar.js 那個 JavaScript 就好了。
請問,我要怎麼把資料放入免費的網路空間?
Re: 奇異果 <4170069391657815826>
應該去問你使用的免費空間吧,不是問我唷!我並不知道你用哪一家免費空間。
Re: 奇異果 <8426274867134225599>
修改 CSS 的 border 屬性
版主好,我有用ar.js這個程式套用在google預設的面板可以成功,但換成其他國外的面板都無法顯示'回'這個功能,不曉得需要改哪個地方呢?謝謝你
我用您的js法失敗~但用土法鍊鋼法成功了耶XD
真是太感謝您啦^^超愛這個功能呢。
感謝,這功能很不錯,借轉喔~
抱歉!我的不能用:((
他說:
我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 XML 元素均已正確關閉。
XML 錯誤訊息: Element type "BR" must be followed by either attribute specifications, ">" or "/>".
請救救我!
您好~
坊間流傳的Blogger作者回覆都只是單純判斷data:comment.author == data:post.author後再透過CSS去上色,但是這樣如果有某個Blogger使用者的筆名剛好跟作者一樣時,這個方法就會誤判。
請問您提供的方法也會有誤判的情形發生嘛?
還是有這句<span expr:class='"item-control " + data:comment.adminClass'>
讓垃圾桶旁邊的回字就只有真正的作者才看得見
就足以區別真作者和偽作者了呢?
另我曾經想要把開頭的javascript放在</head>之前集中管理,結果效果就出不來了QQ~
Re: 白花花 <4028400248123287263>
不會誤判,我這裡兩個方法都是使用 Author ID來判斷,那是每個人唯一的一組數字。
JavaScript 只能照我的位置,因為它是 in line 的。
如果你使用新方法就可以把 javascript 集中管理。
偽作者如果想冒名回覆,它會連 Re:... 那些文字原封不動的秀出來。
不好意思,再請問要如何也可以像你一樣回應會直接出現在訪客下方?
挖哇...太棒了 我可以將你的文章轉貼在我的blogger上嗎?婐會註明出處,順便將此程式做個紀錄
Re: 稻草人的天空 <1894330402331912626>
歡迎呀!
那小弟我就用感恩的心收下了
萬分感謝您,試了好久終於成功了-->使用舊的方式
提供一點意見給您,使用新的方法將ar.js的語法貼入blogger的html範本內容後,系統總是會出現以下訊息「"aTags.length" must be followed by either attribute specifications, ">" or "/>".」所以小弟只能用舊法了
Re: WFU <2184926148963638746>
你有沒有用「下載完整範本」改完再上傳?
或許你可以把你改好的範本寄給我看一下。
真是太感謝了!!看似平常的功能,沒有時就是不習慣啊~~
您好,我用的是新版的,請問作者回覆後面如果想加上日期要怎麼修改呢?我試過把elCommentFooter設定為block,不過他顯示的位置似乎不對...@@
另外想請問,您引入的www.google.com/jsapi需要備份到自己的空間嗎?
萬分感謝您的好物!!
Re: 老吳 <6636297470958213958>
(1) 用 elCommentFooter.innerText 就可以取得回覆時間字串。我已加入我的程式中,你可以參考一下放在自己喜歡的位置。
(2) Google API 不用,直接用 Google 的就可以了,那是 Google 要給大家用的。
Re: 老吳 <6636297470958213958>
感謝您的回覆,成功顯示了~
謝謝您的分享,我成功地使用了 ^ ^
您好,抱歉我是語法菜鳥
您在ar.js中說"為防止 JavaScript 盜連,請修改上下這兩行。刪掉或修改,並放到自己的網站空間"請問是要刪除哪一行?
在這邊學到很多 非常感激
Re: 瀟灑 <8451260994799150374>
就是下面二行:
if(document.location.href.indexOf('http://sean.o4u.com/')!=0)
alert('為防止 JavaScript 盜連,請修改上下這兩行。刪掉或修改,並放到自己的網站空間。');
可不可以請你詳細的說明
comment-timestamp要怎麼改啊><?
我弄好久都不成功ˊˋ
要讓原留言者和作者回覆的時間
都能在右下角
感謝啦~
請問一下,這個程式碼是直接貼上在最上方的地方嗎,還是在程式碼什麼的之後或什麼東西之前??不好意思,我對電腦比較不行啦..
Re: 105張發票都沒中的無業老百姓 <2369058189367827597>
新的方法原始碼裡面有講。
在哪裡呢?
在最上面連結的地方ar.js有找到了,可是這個〝這個檔案存放的網址〞指的是什麼,可以放在信箱之類的嗎??
Re: 105張發票都沒中的無業老百姓 <6685860083887815077>
先下載 ar.js 這個檔案,你可以用自己的 Google Site 存放這個檔案。
那個網址就是你存放的位置,這裡有完整的教學(英文)
http://soswitcher.blogspot.com/2009/05/blogger-host-javascript-file-for-free.html
PS: 放到 Google Site 副檔名要改成 .txt 沒有影響。
Re: 105張發票都沒中的無業老百姓 <6685860083887815077>
Google Sites 中文是「Google協作平台」網址在 http://sites.google.com/
我用inline javascript加入, 但好像ar.js裡的 大於小於,blogger不接受
比如:
for (i=0; i<aTags.length; i++)
要改成
for (i=0; i<aTags.length; i++)
全改完了還是不行耶
似乎卡在這段
if( commentUser == PostAuthor && reReply.test(elCommentBody.innerHTML)){
replyID = RegExp.$2;
replyMsg = RegExp.$3;
if(CommentFooters['c'+replyID]) {
CommentFooters['c'+replyID].innerHTML += '<hr noshade size="1" /><div align="left" style="background-color: lightyellow; padding: 4px">●<b style="color: blue">作者回覆</b>:'+replyMsg+'<br/><div align="right" style="font-size:8pt; color:darkgray">'+elCommentFooter.innerText+'</div></div>';
elCommentAuthor.style.display = 'none';
elCommentBody.style.display = 'none';
elCommentFooter.style.display = 'none';
}
}
< 改成 amplt;
> 改成 ampgt;
前面的留言秀不出來,所以用amp說明
//
ar.js 前後要多加這些才可以
http://www.bloggertricks.com/2009/09/how-to-use-blogger-to-upload-your.html
無法張貼,祥解在此
成功! 終於可以直接插ar.js到html裡面,謝謝Sean大大這份資料!
Re: jaychang85 <3678605481444062555>
恭喜啦! 原來你是要直接把JS放在範本裡。
重點在 XML 的 CDATA 用
//
我還不知道 blogger 有這個技巧。
即然要 inline 提供你一個好工具 http://javascriptcompressor.com/ 可以把 JavaScript 壓得更小。
謝謝!!
花了好久的時間研究
終於成功了 :D
http://code.google.com/intl/zh-TW/
也許
是個好辦法
不是嗎 ??
這真是太棒了
感謝作者的分享
張貼意見