底下有更簡單的作法, 您可不必理會此篇
過山雲 寫:只有第一篇可以轉
而且表情符號會消失\r
之後的都無法轉換
依夢兒提出來之後, 我有再去測試過一次, 確實會發生與過山雲講的狀況
後來debug時發現, 第一篇之後的轉換, 其參數值並沒有傳過去\r
也就是底下紅字標示起來的部份抓不到值\r
<input type="button" value="繁" onClick="convert(1,'{postrow.U_POST_ID}_subject')||convert(1,'{postrow.U_POST_ID}')"> <input type="button" value="簡" onClick="convert(0,'{postrow.U_POST_ID}_subject')||convert(0,'{postrow.U_POST_ID}')">
如果我將它簡化成這樣子, 就可以正常運作(viewtopic的部份)
代碼: 選擇全部
<input type="button" value="繁" onClick="convert(1,'{postrow.U_POST_ID}')"> <input type="button" value="簡" onClick="convert(0,'{postrow.U_POST_ID}')">
但是, 這樣子反而會讓標題的部份無法被轉碼\r
加上個人覺得只需要利用一個span即可完成整個轉換結果的輸出, 而不需要用到兩個
所以, 個人是傾向於依原有架構重寫一次\r
底下的修改適用於已安裝1.0.3版的人(依據依夢兒發佈的1.0.3版文件為基礎)
#
#--------[ OPEN ]----------------
#
templates/subSilver/privmsgs_read_body.tpl
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<span id="tpid_subject"><span id="spid_subject"><span class="genmed">{POST_SUBJECT}</span></span></span>
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
<span id="tpid_subject"><span class="genmed">{POST_SUBJECT}</span></span>
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<input type="button" value="繁" onClick="convert(1,'_subject')||convert(1,'')"> <input type="button" value="簡" onClick="convert(0,'_subject')||convert(0,'')">
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
<input type="button" value="繁" onClick="convert(1,'')"> <input type="button" value="簡" onClick="convert(0,'')">
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<span id="tpid"><span id="spid">
#
#--------[ REPLACE WITH ]----------------
#
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
{MESSAGE}</span></span></span>
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
{MESSAGE}</span></span>
#
#--------[ OPEN ]----------------
#
templates/subSilver/viewtopic_body.tpl
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<span id="tpid{postrow.U_POST_ID}_subject"><span id="spid{postrow.U_POST_ID}_subject">{postrow.POST_SUBJECT}</span></span><span><td>
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
<span id="tpid{postrow.U_POST_ID}_subject">{postrow.POST_SUBJECT}</span></span><td>
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<input type="button" value="繁" onClick="convert(1,'{postrow.U_POST_ID}_subject')||convert(1,'{postrow.U_POST_ID}')"> <input type="button" value="簡" onClick="convert(0,'{postrow.U_POST_ID}_subject')||convert(0,'{postrow.U_POST_ID}')">
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
<input type="button" value="繁" onClick="convert(1,'{postrow.U_POST_ID}')"> <input type="button" value="簡" onClick="convert(0,'{postrow.U_POST_ID}')">
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
<span id="tpid{postrow.U_POST_ID}"><span id="spid{postrow.U_POST_ID}"><span class="postbody">
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
<span class="postbody"><span id="tpid{postrow.U_POST_ID}">
#
\n#--------[ FIND ]----------------
#
代碼: 選擇全部
{postrow.EDITED_MESSAGE}</span></span></span>
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
{postrow.EDITED_MESSAGE}</span></span>
#
#--------[ OPEN ]----------------
#
convert.js
#
#--------[ FIND ]----------------
#
代碼: 選擇全部
function convert(zcs, wpid)
{
var tpid="tpid"+wpid;
var spid="spid"+wpid;
if(zcs==0)
eval('document.all.'+tpid+'.innerHTML=simplized(document.all.'+spid+'.outerHTML)');
else
eval('document.all.'+tpid+'.innerHTML=traditionalized(document.all.'+spid+'.outerHTML)');
}
#
#--------[ REPLACE WITH ]----------------
#
代碼: 選擇全部
function convert(zcs, wpid)
{
var t_pid = document.getElementById("tpid"+wpid);
var t_pid_s = document.getElementById("tpid"+wpid+"_subject");
if(zcs==0) {
if (t_pid.textContent || t_pid_s.textContent) {
eval('t_pid.innerHTML=simplized(t_pid.innerHTML)');
eval('t_pid_s.innerHTML=simplized(t_pid_s.innerHTML)');
} else {
eval('t_pid.innerHTML=simplized(t_pid.outerHTML)');
eval('t_pid_s.innerHTML=simplized(t_pid_s.outerHTML)');
}
} else {
if (t_pid.textContent || t_pid_s.textContent) {
eval('t_pid.innerHTML=traditionalized(t_pid.innerHTML)');
eval('t_pid_s.innerHTML=traditionalized(t_pid_s.innerHTML)');
} else {
eval('t_pid.innerHTML=traditionalized(t_pid.outerHTML)');
eval('t_pid_s.innerHTML=traditionalized(t_pid_s.outerHTML)');
}
}
}
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM
私人訊息的部份還沒有做測試, 但理論上應該是可以運作
還有, 上述的修改並沒有對原外掛中提到的「
發送文章 / 私人訊息的附加功能」做修正
各位再試看看吧
--------
忘了講, 表情符號會消失的問題是因為誤用了textContent
textContent會忽略掉所有的html標籤(後來測試時發現的)
所以這次改換成用innerHTML
ps.
convert.js有個地方筆誤, 會讓標題轉碼失敗(只影響到IE的繁->簡)
convert.js已重新壓縮上傳, 請再重抓一次\r
MD5值\r
a4fd2b8fb10f2fa0392610adb3ee031b convert.rar