bookmarklet - 匯出 FireGestures 手勢對應設定
這支 bookmarklet 只是寫好玩的,在 Firefox 的 Chrome URL 執行,就可以在電腦裡存一個文字檔,真是方便(所以最好別讓來路不明的 bookmarklet 做這種事)。
使用步驟:
- 將 bookmarklet 加進書籤 → 匯出 FireGestures 手勢對應
- 在網址列輸入 chrome://firegestures/content/prefs.xul 進入 FireGestures 選項。
- 點選剛剛加入的書籤,就會出現對話框詢問選項:

- 選擇要把文字檔存到哪裡。

- 完成後檔案就存好了。

- 把文字檔拖曳進 Firefox,看看結果。
疑難排解:
只有在 FireGestures 1.1.5 測試,日後作者隨便改點東西我可能就爆了,所以有疑難也不會排解啦。
原始碼拆解:
var FGTreeDumper = {
dump: function(){
var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
var charset = "UTF-8";
var os = Cc["@mozilla.org/intl/converter-output-stream;1"].createInstance(Ci.nsIConverterOutputStream);
var fos = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
fp.init(window, null, fp.modeSave);
fp.defaultExtension='txt';
fp.defaultString='FireGesturesTreeDump';
fp.appendFilters(fp.filterText);
/*
* 1: 忽略未使用項目
* 2: 忽略 type 欄位
* 4: 忽略 flag 欄位
* 8: 忽略「命令」欄位
*/
var option = prompt('- 忽略未使用的項目,請選 1\n- 忽略 type 資料,請選 2\n- 忽略 flag 資料(例:firefox3)請選 4\n- 忽略「命令」資料,請選 8\n- 綜合選項,請將各選項數字相加,例如 15\n\n請選擇,或不輸入以使用預設選項:');
if (fp.show() != fp.returnCancel) {
if (fp.file.exists()) fp.file.remove(true);
fos.init(fp.file, 0x02 | 0x08 | 0x20, 0666, 0);
var data = '';
var mappings = gMappingsArray;
mappings.forEach(function(item){
if( ! ((option==1||option==3||option==5||option==7||option==9||option==11||option==15) && item[kDirectionCol]=='') ) {
var cell = [];
item.forEach(function(col,idx){
if( ! ((option==2||option==3||option==6||option==7||option==10||option==11||option==14||option==15) && idx==kTypeCol)
&& ! ((option==4||option==5||option==6||option==7||option==12||option==13||option==14||option==15) && idx==kFlagsCol)
&& ! ((option==8||option==9||option==10||option==11||option==12||option==13||option==14||option==15) && idx==kCommandCol)
) {
cell.push(col);
}
});
data += cell.join('\t') + '\n';
}
});
os.init(fos, charset, 0, 0x0000);
os.writeString(data);
os.close();
fos.close();
alert('已完成。');
}
}
};
FGTreeDumper.dump();




有 0 個意見
☂