讓 Blogger 的意見回應可以有回覆

新方法改起來比較容易囉,見 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*&amp;lt;(\d+)&amp;gt;\s*&lt;BR\/?&gt;/i,&#39;&#39;);
var strOut = &quot;<div style='background-color: bisque; padding: 4px'><b>作者回覆</b>&#65306;<br/>&quot;+strBody+&#39;</div><p/>&#39;;
if(RegExp.$1)
document.getElementById(&#39;RID&#39;+RegExp.$1).innerHTML = strOut;
else
document.write(strOut);
}

function replyEmbedComment(CN,CID) {
var url = document.getElementById(&#39;comment-editor-src&#39;).href.replace(/-iframe/,'');
url += &quot;&amp;postBody=Re:+&quot;+escape(CN)+&quot;+&lt;&quot;+CID+&quot;&gt;%0D%0A&quot;;
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='&quot;CID&quot; + 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(&quot;CID<data:comment.id/>&quot;);
</script>
<b:else/>
  <dt expr:class='&quot;comment-author &quot; + 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='&quot;item-control &quot; + data:comment.adminClass'>
<b:if cond='data:post.embedCommentForm'>
<a href='#comment-form' expr:onclick='&quot;replyEmbedComment(\&quot;&quot; + data:comment.author + &quot;\&quot;,\&quot;&quot; + data:comment.id + &quot;\&quot;)&quot;' style='font: 9pt Arial; color:#8a8a8a'>回</a>
<b:else/>
<b:if cond='data:post.allowComments'>
<a expr:href='data:post.addCommentUrl + &quot;&amp;postBody=Re%3A%20&quot; + data:comment.author + &quot;%20%3C&quot; + data:comment.id + &quot;%3E%0D%0A&quot;' 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='&quot;RID&quot; + data:comment.id'/>
</dd>
</b:if>

</b:loop>
</dl>







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






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

91 個回應:

匿名 提到...

BB

匿名 提到...
此文章已由網誌管理員移除。
匿名 提到...

CCCCCCCCC

匿名 提到...

DDDDDDDDDD

ASAHI 提到...
此文章已被作者刪除。
(練)Ge武Nius 提到...

Re: 匿名 <4008937900424171564>
不好意思,貼過個文:
一是想試一試如果不是作者回覆會如何,
二是想告訴您,blgger說我的碼有問題,應該是第一段中的br字樣出了問題,它說一定要在br後加/> or >
請問是出了甚麼問題呢?
p.s. 謝謝分享

Sean Lin 提到...

Re: (練)Ge武Nius <8703341397870964161>

不是作者回覆就像你回的這樣樣!

第二個問題我沒遇過。

(練)Ge武Nius 提到...

還是不行,請問你有沒有其他參考網站可以供我自行研究一下

Sean Lin 提到...

Re: (練)Ge武Nius <3499112454602060121>

我是看它的原始碼,自己找出變通的方法。並沒有參考任何網站。

等我有空我再來改寫用另外的方法做同樣的功能。直接改原始碼可能對不會程式的人有點難度。

Joy,the well 提到...

HI我想要有這個功能~~可是一直失敗@@
哇嗚~~不知道那裡出了問題

Simone 提到...

我好喜歡您這個功能呀! 可惜我也遇到了問題BR需要> or /> 結尾的問題

希望有機會看您出新的版本喔!
謝謝

Sean Lin 提到...

Re: Simone <1349153652381810771>

你把第一行的 var strBody = ...
裡的 < BR... > 刪掉看看

_NING_ 提到...

我把第一行的 var strBody = ...
裡的 < BR... > 刪掉了
可是變成"語法不完全"
希望你可以再修改看看
我好想要這個功能
不然都不曉得回覆的人士版主
大力感謝!!!

Sean Lin 提到...

Re: _NING_ <5138317545921706620>
剛剛再測試一下發現 Blogger 的HTML字元跳脫方式改變了。

我有修改我的程式碼,你再試一次看看。

(練)Ge武Nius 提到...

拜謝!等了那麼久今天終於成功了!
(  ̄ー ̄)ノ■☆■ヾ( ̄ー ̄ ) 乾杯

_NING_ 提到...

成功了!!!!!
超級感謝~~~!
觀迎來我的部落格參觀參觀
www.reddyduck.blogspot.com
不過你是怎麼把作者回覆的底圖跟上一個人的日期隔一行啊??
可以教我怎麼把訪客留言跟作者回覆的"日期"放在"下一行"的"右下角"嗎?
感激不盡!!

Sean Lin 提到...

Re: _NING_ <1159090615009822371>
要改位置我沒實際試過,我的自然就有空一行了,可能是每個人的 CSS 不同吧。
你要多空一行就只是HTML語法而已:把我的程式碼 copy-paset 文字編輯器上,收尋『回</a>』,在後面加上多加幾個<br/>。
不過建議你改 CSS 比較好。

日期要在右下角也是改 CSS 的 .comment-timestamp

Reddy Duck 提到...

嗯嗯嗯
我再試試看,感謝你瞜
不過他的回覆功能好像只是看起來像回覆功能
如果兩個訪客連續留言就無法針對特定的人回覆內容了吧?
不過還是很感謝你喔~~

Sean Lin 提到...

Re: Reddy Duck <1243872935479409220>
可以唷!
你可以用匿名多留幾筆看看。
想回那一筆只要在該筆下面的『回』點一下就可以回覆了。

匿名 提到...

Re: (�?Ge武Nius <2877935153769884645>乾杯

Sean Lin 提到...

Re: 匿名 <5739246665886096584>
用IE回就會有這樣的亂碼!
我都用 FireFox

helper 提到...

Re: 匿名 <4008937900424171564>好像有問題耶,沒法針對某一個人回應

Sean Lin 提到...

Re: helper <1546361623754571757>

只要在每個留面垃圾筒後面的「回」字按一下就以個別回覆了!

Zin 提到...

你好 我研究了一會
弄了算是差不多了
可是 個別回覆的地方還是小有問題?
因為如果我點了"回"他沒有反應
如果我是另外開啟新網頁 他會再打開一次同一個頁面
我不清楚哪裡弄錯了?
感謝

d 提到...

Re: Zin <4495071072206452944>
很不錯的功能

匿名 提到...

你好歡迎前往參觀8搜啦CSOL交流論壇

http://www.8sola.cn/?fromuid=12369

有許多cs online的遊戲內容,外掛,巧等許多討論分享介紹,歡迎前往參觀

http://www.8sola.cn/?fromuid=12369

Tat 提到...

我已經加入了你提供的程式碼,但都不能做到回應,我有什麼出錯?

http://stupidtat.blogspot.com/

Sean Lin 提到...

Re: Tat <5164845407871384749>
因為沒人「留言」呀!
要等有人留言你再按那個留言下的「回」。不然怎麼叫「作者回應」。

Tat 提到...

看到了效果了...謝謝你,
我原來以為是可以揀選意見來回應,
但原來如果之前多過一個回應,就不能一個一個似的回覆!

Sean Lin 提到...

Re: Tat <7644043879985285875>
多個意見也可以呀,每個意見下面都有一個「回」。看你要回哪一個就按哪一個。

Tat 提到...

差一點看不到,太感動.........
謝謝你....

我看看怎麼更改必的格式....

MonaL. 提到...

您好~這個方法似乎適用於xml
那如果我的是html的(最傳統未更新成beta版)請問也可以用嗎@@

匿名 提到...

Re: 匿名 <4008937900424171564>

HDLineage 提到...
此文章已被作者刪除。
the pale blue dot 提到...

請問大大
要如何直接在文章下方列出全部的意見?
blogspot若使用版面配製,文章的default是一篇接一篇
不知如何排成 [文章-全部意見]-[文章-全部意見]-[文章-全部意見]...
感謝!!

匿名 提到...

Re: the pale blue dot <2665495373312547351>
@@

勾牒WiKim 提到...

感謝您的分享>//<
我用的很開心~

想請問可以改底色嗎@@
因為我家網誌是黑底淺色字
淡橘色的背景會看不到字XD"
我想說改色碼但是都沒看到那淡橘色的色碼
再次謝謝您OWO/

Sean Lin 提到...

Re: 勾牒WiKim <7770235058652135663>

有呀
background-color: bisque可以改成 # 開頭的 RGB值。

勾牒WiKim 提到...

OK了~感謝您:D

sunny 提到...

請問Sean兄
我跟樓上的zin一樣的情形
不知道問題出在哪邊 能幫小弟看看嗎?謝謝

fiore 提到...
此文章已被作者刪除。
fiore 提到...

你好,試玩了一下這個功能,發現它好像只有在意見欄選擇外嵌時才能生效,如果是使用內嵌留言版的話就沒有反應,請問要如何修改讓它在內嵌留言版使用呢?

謝謝:)

peggy 提到...

真是很感謝你分享這個方法,我也遭遇和zin一樣的問題耶!雖然出現了「回」,不過點下去卻沒有什麼反應,是blogger又改了什麼碼嗎?可不可以麻煩版主幫幫忙?

Sean Lin 提到...

Re: peggy <4227128677052199567>

你的 blog 網址是?
我看看你有沒有設錯?

peggy 提到...

這是我的網址:http://createdfromheart.blogspot.com/
感謝了!

peggy 提到...

我剛剛又重設了一次,發現我用留言方式留的答覆都會變成回覆方框,不過如果單點「回」字還是沒有動靜,因此變成只能回覆最下一則留言了,再麻煩您看看。

Sean Lin 提到...

Re: peggy <8980584190317349521>

我修改了程式碼, 讓各種意見都可以按「回」了。

Sean Lin 提到...

Re: fiore <275571396543876662>
...

Sean Lin 提到...

Re: the pale blue dot <2665495373312547351>
不太懂!

peggy 提到...

成功了!真是太感謝您,謝謝。

匿名 提到...

請問為何我更改後,還是沒辦法回覆耶
我按回那各字,它就會說網頁發生錯誤
這樣是什麼意思啊?謝囉

Sean Lin 提到...

Re: 匿名 <5228926289825593561>
你的 blog 網址是?
我去看一下!

Sketch 提到...

哇哇!
你真厲害,寫出這樣的程式。
讓我的blog有作者回應的功能,
讓我看留言更清楚。
Thanks a lot!

Jeter le poète 提到...

您好,日前曾參照您的方法寫了一篇稍微補充的教學文章,但未曾事先知會您,因此藉由此意見請您允許轉錄,若您覺得不妥,請告訴我,我會將該文移除,也謝謝您的大方分享。

Sean Lin 提到...

Re: Jeter le poète <4027454733133571988>
放在網路上的東西就是要廣為分享,沒有什麼不妥的。
感謝愛用,我跟你一樣是網路業,偏程式技術方面。

Jeter le poète 提到...

您好,有問題想請教,目前在弄一個新的blog,也是在blogger上面,但是套用的模板在回應的部份是把回應欄位直接加到文章下方,因此原本的修改方式就無效了,如果您有空的話,想請您幫忙看看怎麼修改能夠運作?謝謝~

我是套用這個版面 http://btemplates.com/2009/08/01/evidens-white/

gabriel 提到...

成功了,謝謝

Sean Lin 提到...

Re: gabriel <691926080262756503>
恭喜!

湘琴的老公 提到...

您好,我使用了您提供的語法後,之前的作者回覆都消失了,但這些回覆確實都還存在,點選回應者的日期連結就會出現完整的回應(意見數量上也沒有錯, 點選後就是會少掉一些回應)。

不然就是需要重新整理多次後,才會出現所有的作者回覆,不過失敗的次數居多,我用了firefox、ie、chrome測試都是差不多的情形。

如您方便,可否為我看看,不方便也沒關係,還是非常感謝您,我再換回原來模式就好了。

謝謝您!

Sean Lin 提到...

Re: 湘琴的老公 <3206437112347060994>
請問您的 blog 網址是?

湘琴的老公 提到...

不好意思,http://ivan1119.blogspot.com/2009/09/blog-post_12.html,主要問題都出在這篇文章的回應上,時出現、時消失的,麻煩您了。

湘琴的老公 提到...

<5810613943660233192>
那就麻煩您了,謝謝!

Lux. 提到...

我也有遇到之前自己回覆的意見消失的問題。

另外如果再同一篇文章新增意見而不是針對某意見回覆的話,該意見會直接取代前面的作者回覆。

Sean Lin 提到...

TEST

Sean Lin 提到...

Re: Sean Lin <7049471990850730844>
再回一次

matif 提到...

對不起喔,我照你的方法弄了一下
雖然我套用成功了,但是按回時卻沒有出現自動跑出來的第一行,我回覆後也看不到自己回覆的留言
(今天blogger官方好像有更新的樣子)
謝謝你寫這麼詳細的教學喔

Sean Lin 提到...

Re: matif <1814143071495161286>
我有預感之前的方法不是長久之計。我又換了另一個新的方法,全部使用JavaScript完成。你先把這個 JavaScript 存到自己的免費空間再連過去吧!
http://s.o4u.com/host/blog/ar.js
(不要直接連來我這裡,浪費我的頻寬,我位子可能會換)

matif 提到...

Re: matif <1814143071495161286>
抱歉喔 我剛剛沒說到我的問題示按作者回覆時他不會有彈出視窗,而是直接移動內崁式回覆,也沒有第一行
對不起沒說清楚

然後,有一個很笨的問題上傳js後要怎麼連上去啊

Sean Lin 提到...

Re: matif <2057712317820747536>
Sorry,忘了跟你說JS的檔案開頭註解有安裝說明。

matif 提到...

非常感謝你,我成功了喔~

Sean Lin 提到...

Re: matif <3463838713447818409>
恭喜囉! 呵~ 新的方法你應該是第一個使用的唷!

奇異果 提到...

請問我想要加入這個程式,但我沒有編輯器,該怎麼辦?

Sean Lin 提到...

Re: 奇異果 <7956432856394806610>
不用編輯器呀!

奇異果 提到...

那我該如何加入?

Sean Lin 提到...

Re: 奇異果 <524185331744666660>
上面有寫呀!

奇異果 提到...

成功了,但再請問一個問題,請問你格子怎麼畫的?

奇異果 提到...

你好,請問一下如果換模版,是不是會有插入失敗的問題呢? 

Sean Lin 提到...

Re: 奇異果 <3211466891540767562>
使用 JavaScript 只需依照檔案開頭的註解加入幾行程式碼即可。不會有問題。

奇異果 提到...

那如果沒有呢?

奇異果 提到...

又是我,不好意思
這是我的blog網址:http://kiwiqq.blogspot.com
在安裝這程式以前的留言後面都沒有出現「回」這字
是我哪邊有問題嗎?
我真的很喜歡你發表的這個主題^^拜託囉.....

Sean Lin 提到...

Re: 奇異果 <7839519741596221507>
並沒看到你在範本裡加入我的程式碼呀!!

Sean Lin 提到...

Re: 奇異果 <7839519741596221507>
你沒看樓上的回覆,加 ar.js 那個 JavaScript 就好了。

奇異果 提到...

請問,我要怎麼把資料放入免費的網路空間?

Sean Lin 提到...

Re: 奇異果 <4170069391657815826>
應該去問你使用的免費空間吧,不是問我唷!我並不知道你用哪一家免費空間。

Sean Lin 提到...

Re: 奇異果 <8426274867134225599>
修改 CSS 的 border 屬性

黃克標線上服務處 提到...

版主好,我有用ar.js這個程式套用在google預設的面板可以成功,但換成其他國外的面板都無法顯示'回'這個功能,不曉得需要改哪個地方呢?謝謝你

S@r@h 提到...

我用您的js法失敗~但用土法鍊鋼法成功了耶XD
真是太感謝您啦^^超愛這個功能呢。

千千熊 提到...

感謝,這功能很不錯,借轉喔~

Jane 提到...

抱歉!我的不能用:((
他說:
我們無法剖析您的範本,因為它的結構不完整。 請確定所有的 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~

Sean Lin 提到...

Re: 白花花 <4028400248123287263>
不會誤判,我這裡兩個方法都是使用 Author ID來判斷,那是每個人唯一的一組數字。

JavaScript 只能照我的位置,因為它是 in line 的。

如果你使用新方法就可以把 javascript 集中管理。

偽作者如果想冒名回覆,它會連 Re:... 那些文字原封不動的秀出來。

張貼意見