ChrisTorng 樣式訊息記錄在 Vista 下的問題

感謝 Tony 提醒,告知 ChrisTorng 樣式訊息記錄在 Vista 下無法儲存設定的問題,另我也發現刪除對話階段功能亦有問題。慚愧的是,雖然我自己也使用 Vista,但卻從未用過自己的訊息記錄工具。目前我仍不確定問題是 Vista 造成還是 IE7 造成,若有朋友有 XP 已安裝 IE7 可回報一下是否正常。

刪除對話階段之問題目前仍不知如何解決。而儲存設定的問題,追查了一下,遇到兩個問題,一個是檔案路徑分隔字元原本是 "\",現在變成 "/"。這個問題倒容易解決。另一個問題,不支援中文檔案路徑。目前會遇到的中文檔案路徑,包括「我已接收的檔案」及「記錄」兩者。我試了一下,找不到方法可以正確讀寫中文檔案路徑,只試出來純英文路徑是正常的。因此必須要將訊息記錄移至純英文路徑上才能正確讀寫設定檔。

也就是說,就目前來說,要修正儲存設定的問題,我想到兩個方法:「改程式+改路徑」與「直接改設定檔」。


方法一:改程式+改路徑

這個方法可以解決無法儲存設定的問題,適合於常常修改設定的人。
以記事本開啟 ".\ChrisTorngStyle\SettingProcess.xsl",找到:
function GetCurrentPath()
{
    var Path = decodeURI(location.pathname.substr(1));
    return Path.substring(0, Path.lastIndexOf("\\") + 1);
}
將這段代換成:
function GetCurrentPath()
{
    var Path = decodeURI(location.pathname.substr(1));
    var LastSlashPos = Path.lastIndexOf("\\");
    if (LastSlashPos < 0)
    { LastShashPos = Path.lastIndexOf("/"); }
    return Path.substring(0, LastShashPos + 1);
}
即可修復路徑分隔字元問題。
再來要把訊息記錄路徑上所有非英文字換成英文,在繁體中文版中包括「我已接收的檔案」及「記錄」兩者。可換成英文版的 "My Received Files" 及 "History"。然後在 Windows Live Messenger 中亦需設定新的訊息路徑:「工具 – 選項 – 訊息 – 將我的對話內容儲存在此資料夾」。


方法二:直接改設定檔

如果只需要設為繁體中文,不需要常常改設定值的話,建議用這個比較簡單的方法。
設定檔位於訊息記錄資料夾內 ".\ChrisTorngStyle\CurrentSetting.xsl",以記事本開啟,將其中的 "Language_en-us.xsl" 代換成 "Language_zh-cht.xsl" 存檔後即可。
所有可用的語言檔名列在 ".\ChrisTorngStyle\AllSetting.xml" 中之 "AllSettings\Languages\Language\File" 段落,可以任選其一。其他 "CurrentSetting.xsl" 中的設定值,只要看得懂一些英文,相信不會太難看懂,如果有需要的話可自行修改,只要小心別動到 9/30/true/false 這些設定值以外的字元即可。


而這個工具當初有繼續製作下一版本,但功能尚未完成,又因自己忙,就停了下來。因此目前沒有更新版本的計劃。


“ChrisTorng 樣式訊息記錄在 Vista 下的問題” 有 2 則迴響

  1. WinXP SP2 with IE7 也有相同的問題儲存設定 以及 刪除對話階段 兩種功能,都沒辦法正常運作推測是 IE7 or 新版 XML Parser 造成刪除對話階段時的錯誤訊息為「….需要物件」,不知道有沒有幫助?這個問題能修掉的話,"ChrisTorng 訊息記錄" 又是一條活龍啦~

  2. 感謝回報,由於自己忙,沒有時間來處理這個問題了…
    不知是否有能者幫忙試試看…所有原始碼都附上了…
    如果找到解決方法,麻煩來這兒分享一下吧…感謝…

發表留言