舊文件

此處文件僅供參考,請自行考量時效性與適用程度,其他庫藏文件請參考文件頁面
我們亟需您的協助,進行共筆系統搬移、及文件整理工作,詳情請查閱參與我們

「Portable Firefox 使用、自訂與中文化」修訂間的差異

出自 MozTW Wiki

檔案路徑不可以有中文
附錄
行 114: 行 114:
  
 
=附錄=
 
=附錄=
 +
以下是一些小技巧
 +
 
==安裝 Macromedia Flash Player==
 
==安裝 Macromedia Flash Player==
 +
#請先自下方連結下載 Macromedia Flash Player: [http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash Get Flash Player]
 +
#在有安裝官方 Firefox 的電腦執行該程式
 +
#在 Firefox 安裝資料夾之下的 plugins 資料夾下 將 NPSWF32.dll GetFlash.exe GetFlash.exe.manifest 複製到 Portable Firefox 資料夾中的 plugins 資料夾之下
 +
#完成
 +
'''注意''' Macromedia Flash Player 是美國 Macromedia 公司的註冊商標, Flash Player 也是有版權的軟體,如果你的 Portable Firefox 是要公開讓人下載的,請不要包含 Macromedia Flash Player,以免陷入法律問題。
 +
 
==打包為 LiveCD Portable FireFox==
 
==打包為 LiveCD Portable FireFox==

於 2005年10月21日 (五) 17:39 的修訂

Portable Firefox 簡介

Portable Firefox 是一個讓你能把你的 Firefox 帶著跑的程式,它的工作原理是利用 Firefox 可以用 "firefox.exe -profile 'Profile資料夾'"來指定 Firefox 所使用的 Profile ,進而能讓 Firefox 變成可攜式的 Firefox。

這個程式是由 John T. Haller 前輩使用 NSIS 撰寫的。除了上述原理,為了要讓 Firefox 能正常使用套件和佈景主題,程式碼中還有用來修補 Chrome.rdf 的程式碼。但也因此產生了一些問題,請參後面的已知問題。

相關連結

Portable Firefox 下載頁 http://johnhaller.com/jh/mozilla/portable_firefox

John T. Haller 前輩的網站 http://johnhaller.com/jh

某A 前輩製作的中譯版 http://forum.moztw.org/viewtopic.php?t=10821


Portable Firefox 的下載與中文化之一(使用 zh-TW.xpi 來中文化)

下載圖例

現在要開始進入正題了。前面說了這麼多關於理論的東西,現在來實際操作吧,如果你懶得中文化的話,建議你直接下載 某A 前輩製作的中譯版。這一段是要教你如何取得英文版的 Portable Firefox。

  1. 請先按下下方的連結,進入 Portable Firefox 下載頁:http://johnhaller.com/jh/mozilla/portable_firefox
  2. 然後請按下 Download Now! 下載檔案。
  3. 下載完畢後,請用你熟悉的解壓縮軟體,將 portable_firefox_1.0.7_beta.zip 解壓縮
  4. 解壓縮後,請放置在英文目錄下(例如:C:\Temp\Portablefirefox),並執行 PortableFirefox.exe 測試是否有問題(註:作此動作之前,請先關閉你正在使用的 Firefox。)
  5. 這時候 Portable Firefox 所開啟的 Firefox 應該是英文的
  6. 請用 Portable Firefox 所開啟的 Firefox (下簡稱 FofP)瀏覽這一頁: http://johnhaller.com/jh/mozilla/portable_firefox/localization/ 安裝 Chinese (Traditional) 的 Language Pack,或直接按下這裡直接安裝
  7. 關閉 FofP 並在執行一次 PortableFirefox.exe,你就已經有一個簡單的中文版 Portable Firefox

備註 其實比較正規的方法是使用 Locale-Switcher 套件,但是為了簡化流程,所以這樣做。


Portable Firefox 的下載與中文化之二(使用 安裝的中文版 Firefox)

下載 Portable Firefox Launcher 的例圖
  1. 請先按下下方的連結,進入 Portable Firefox 下載頁:http://johnhaller.com/jh/mozilla/portable_firefox
  2. 然後請找到 Portable Firefox Launcher 並下載,如右圖。
  3. 解壓縮 portable_firefox_launcher_1.1.0.zip ,到一個英文目錄下(例如:C:\Temp\Portablefirefox)(此後簡稱<PortableFirefox>)
  4. 到你安裝 Firefox 的資料夾之下,複製所有資料夾之下的檔案。
  5. 到 "<PortableFirefox>\firefox" 資料夾之下,將所有的檔案貼上
  6. 再把 "<PortableFirefox>\firefox" 資料夾之下的 plugins 資料夾剪下,"<PortableFirefox>" 資料夾下貼上,取代全部
    注意 如果你打算發佈給其他人使用,請注意是否使用了相依本地端程式的外掛(Plugins)(例如:fdm.dll 等等),如果你沒將他們從 plugins 資料夾中移除,將會使 Portable Firefox 不具可攜性。
  7. 執行 PortableFirefox.exe
  8. 開啟時,PortableFirefox 會詢問:「No profile was found. Would you like to create a new profile here?」,請回答「是」。
  9. 如果 Portable Firefox 所開啟的 Firefox (下簡稱 FofP)詢問是否要設為預設瀏覽器,請回答「否」
  10. 做到這裡你就已經有一個簡單的中文版 Portable Firefox


修改與自訂 Portable Firefox

這一段其實並不重要,基本上 Portable Firefox 依然是一套 Firefox,因此你平常如何自訂你的 Firefox 你就可以怎麼自訂 Portable Firefox。我想教的方法是比較偷懶的方法,直接複製你現有的 Profile 讓 Portable Firefox 使用

備註 以下以 <PortableFirefox> 代稱 PortableFirefox.exe 所在的資料夾。

  1. 請先刪除 "<PortableFirefox>" 資料夾底下的 profile 資料夾
  2. 請開啟檔案總管,在網址列數入 "%Appdata%\Mozilla\Firefox\Profiles"
  3. 選取你要的個人設定檔,並把他複製到 <PortableFirefox> 資料夾之下
  4. 把這個資料夾重新命名為 "profile"
  5. 完成


已知問題

已知問題你可以參閱這裡:http://johnhaller.com/jh/mozilla/portable%5Ffirefox/support/#known_issues

以下使我所研究過的已知問題。

被部份的防毒軟體視為病毒

其實這個問題並非 Portable Firefox 本身,或是 NSIS 的錯。如果真的要歸納錯誤的話,應該歸功於防毒公司。但幸運的,就我所知,NSIS 方面已經克服這個問題,有興趣者請參:http://nsis.sourceforge.net/index.php?id=2&backPID=2&tt_news=24

檔案路徑不可以有中文

這是我仔細研究過的問題,事實上這個問題可以分為兩個部份:

第一部份是 GetParameters 的錯誤,導致誤傳訊其給 firefox.exe ,改成以下的程式即可解決

Function "GetParameters"
 Push $R0
 Push $R1
 Push $R2
 StrCpy $R2 $CMDLINE 1 0
 StrCmp $R2 "$\"" 0 +3
   StrCpy $R0 ""
   Goto ReturnTheValue
 StrCpy $R0 $CMDLINE 1
 StrCpy $R1 '"'
 StrCpy $R2 1
 StrCmp $R0 '"' loop
   StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
 loop:
   StrCpy $R0 $CMDLINE 1 $R2
   StrCmp $R0 $R1 loop2
   StrCmp $R0 "\" "" "nofile"
     IntOp $2 $R2 + 1
   nofile:
   ;MessageBox MB_OK "r0: $R0"
   StrCmp $R0 "" loop2
   IntOp $R2 $R2 + 1
   Goto loop
 loop2:
   IntOp $R0 $R2 - $2
   IntOp $R0 $R0 - 4
   ;MessageBox MB_OK "$R2 - $2 = $R0"
   StrCpy $R7 $CMDLINE $R0 $2 ; we save the filename
   ;MessageBox MB_OK "$2"
 loop2b:
   IntOp $R2 $R2 + 1
   StrCpy $R0 $CMDLINE 1 $R2
   ;MessageBox MB_OK "rr0: $R0"
   StrCmp $R0 " " loop2b
 StrCpy $R0 $CMDLINE "" $R2
 ReturnTheValue:
 Pop $R2
 Pop $R1
 Exch $R0
FunctionEnd


但是第二部份就沒這麼好改了,

原因是 Firefox 本身對非 ANSII 路徑的處理方式,大家都知道 CJK 字集是用兩的 byte 組成的,基於一些理由, Firefox 把所有 CJK 語言都轉成 %NN%NN 例如:桌面->%AE%E0%AD%B1。現在問題在於,當 Firefox 安裝套件時會把路徑名稱中文的部份轉為 %NN%NN ,但 Firefox 在事後重新讀取 Chrome.rdf 時就不會再去轉換了,但是為了可攜, PortableFirefox.exe 會去修改 Chrome.rdf 以讓套件正常運作,然而 NSIS 並不會將中文轉換為 %NN%NN 形式,因此 Firefox 讀取時就發生問題了。

這個問題要有一個軟體可以把 CJK 轉為 %NN%NN 的形式才能解決。可是這部份的函式我是從一份很久以前的文獻偷過來的,測試的結果的確可行,但是這些函式並不是我寫的,所以我並不能公佈,向各位網友們道歉了。如果有高手寫得出來,那的確可以解決這個問題。

不過好消息是: Firefox 1.5 Beta 好像已經不使用 Chrome.rdf,因此不會產生這個問題,期待 Firefox 1.5 吧!

附錄

以下是一些小技巧

安裝 Macromedia Flash Player

  1. 請先自下方連結下載 Macromedia Flash Player: Get Flash Player
  2. 在有安裝官方 Firefox 的電腦執行該程式
  3. 在 Firefox 安裝資料夾之下的 plugins 資料夾下 將 NPSWF32.dll GetFlash.exe GetFlash.exe.manifest 複製到 Portable Firefox 資料夾中的 plugins 資料夾之下
  4. 完成

注意 Macromedia Flash Player 是美國 Macromedia 公司的註冊商標, Flash Player 也是有版權的軟體,如果你的 Portable Firefox 是要公開讓人下載的,請不要包含 Macromedia Flash Player,以免陷入法律問題。

打包為 LiveCD Portable FireFox

個人工具