2012-06-16

Firefox的user.js在Windows 7 64bit無效解決方法

記得以前用Windows的時候user.js是放在%AppData%\Mozilla\Firefox\Profiles\(You Profiles Name)裡面,但最近把Linux中的user.js放到Windows 7 64bit中就失效了,要把參數寫死也就辦不到了。

我的設想是讓Firefox設定值能在Linux與Windows通用,如果某些參數沒寫死(比如字型:Windows用微軟正黑體,Linux用文泉譯微米黑),每次資料轉移在不同平台還要重新設定有點麻煩,這次還是拜萬能的估狗找到了解決方法。

我們先了解user.js的權限是比prefs.js來的大,不管你prefs.js改幾次,只要每次重啟Firefox還是會讀回去user.js參數。

Firefox配置文件 "user.js 和 prefs.js
user.js 包含一些選項參數,Mozilla 每次啟動的時候會讀入這些參數。Firefox 啟動時,總會把 user.js 中有效的參數設置拷貝到 prefs.js 中,而 prefs.js 就是Firefox 用來存儲用戶的所有設置的地方。
user.js 存儲於個人配置文件夾中,也是 prefs.js 所在的目錄,但 Firefox 並不會自動創建 user.js。所以,如果你的個人設置目錄裡沒有 user.js,只需要新建一個就行了。注意,一定要把 user.js 放在和 prefs.js 相同的目錄下。
Firefox 不會修改 user.js 裡的內容,但卻頻繁的修改 prefs.js 裡的內容。要想直接修改 prefs.js,應該完全關閉 Firefox(關閉所有的 Firefox 窗口)之後再打開 prefs.js 進行編輯,要不然編輯可能會被覆蓋。
和編輯 user.js 類似,在地址欄裡輸入 about:config 也可以編輯當前用戶的個人設置。以這一種方法所作的更改將直接寫入 prefs.js。"



要在Windows 7中寫死參數,請在安裝的資料夾default建立一個pref資料夾,用文字編輯器新增一個檔案名稱為user.js,其中正式版跟測試版路徑不一樣要注意一下,以下是完整路徑:

Firefox正式版
32Bit:%PROGRAMFILES%/firefox/default/pref/user.js
64Bit:%PROGRAMFILES(X86)%/firefox/default/pref/user.js

Firefox Nightly測試版
32Bit:%PROGRAMFILES/Nightly/default/pref/user.js
64Bit:%PROGRAMFILES(X86)%/Nightly/default/pref/user.js

P.S1 32Bit版本我沒試過
P.S2 Firefox原生只有32的版本所以放在X86裡


這就是我的目地將字型設定寫死

user_pref("font.default.zh-TW", "serif");
user_pref("font.minimum-size.zh-TW", 14);
user_pref("font.name.monospace.zh-TW", "微軟正黑體");
user_pref("font.name.sans-serif.zh-TW", "微軟正黑體");
user_pref("font.name.serif.zh-TW", "微軟正黑體");

預設下載路徑在兩個平台也是不一樣的一併處理

user_pref("browser.download.dir", "C:\\Users\\Administrator\\Desktop");

itsalltext所用的文字編輯器也不相同

user_pref("extensions.itsalltext.editor", "C:\\Windows\\System32\\notepad.exe");

最後在說一下為什麼這麼麻煩,因為本來想用Firefox的sync功能,但我遇到Bug了一直同步失敗,我主要用Linux同步在Mozilla伺服器中,而後取代Windows的資料,前面同步失敗後面開自動同步可想而知套件什麼的都被清掉了。

加上Sync不能同步目前所瀏覽的分頁,他只把他放在about:sync-tabs裡這樣要自已開啟,那麼原本的分頁群組也就失效了,到不如自己用rsync同步,反正比網路傳輸快,因為都在同一台電腦裡:D


這個TabCloud我也試過比Sync還好點按小圖示選分頁,Sync要打開同步分頁還要先自己打about:sync-tabs哩XD