MozTW 討論區
https://forum.moztw.org/

用 .xpi 製作 power pack?
https://forum.moztw.org/viewtopic.php?f=18&t=7830
1 頁 (共 1 頁)

發表人:  dken [ 2005-04-19, 01:30 ]
文章主題 :  用 .xpi 製作 power pack?

power pack 的意思就是,只要使用者一點 .xpi 檔,即可以自動安裝好 bookmarks, search plugins, extension,extension 先不要包在裡面,先以將 bookmarks 和 search plugins 放進去為目標(用覆蓋的方式)。

我現在在 try 這個功能,不過碰到了問題。

因為目前 firefox 安裝 extension 是用 Extension Manager 來做處理,而這支程式只會辨認 install.rdf,對於 install.js 是不理的。那問題來了,如果要搬單一檔案到某個地方,用 rdf .... 這要怎麼做咧?

目前是可以用包在安裝程式的方式來製作 Power Pack,但是如果換成用.xpi 來做,我試了好久都不成功,有沒有人比較熟悉 xpi 這個安裝方法的,分享一下心得吧......:wink:

發表人:  softcup [ 2005-04-19, 01:45 ]
文章主題 : 

若沒記錯,只要 xpi 中不含 install.rdf,Firefox 就會使用 install.js。
所以,要不要先將 install.rdf 移除試看看。

發表人:  dken [ 2005-04-19, 02:21 ]
文章主題 : 

softcup 寫:
若沒記錯,只要 xpi 中不含 install.rdf,Firefox 就會使用 install.js。
所以,要不要先將 install.rdf 移除試看看。


會出現錯誤訊息: script 檔錯誤

以下是我的測試碼主要部份:

##本來是打算放一個 test.html 到 /.mozilla/firefox/xxx.default 底下的

var folder = getFolder("Profile");
setPackageFolder(folder);

err = addFile(AUTHOR, VERSION, 'chrome/' + 'test.html', folder, null);

發表人:  dken [ 2005-04-19, 02:44 ]
文章主題 : 

我剛試成功了.......感謝提示哦........ :lol:

發表人:  kourge [ 2005-04-19, 06:28 ]
文章主題 : 

我覺得啦...如果要弄各大自訂版本...直接修改安裝黨會比較有彈性一些...這樣也省得使用者安裝 xpi 的麻煩...
http://leolo.ath.cx/~bobchao/index.php?mode=link&bid=629

發表人:  josesun [ 2005-04-19, 06:52 ]
文章主題 : 

kourge 寫:
我覺得啦...如果要弄各大自訂版本...直接修改安裝黨會比較有彈性一些...這樣也省得使用者安裝 xpi 的麻煩...
http://leolo.ath.cx/~bobchao/index.php?mode=link&bid=629

這樣的話要把步驟弄得盡量簡單才行...要不然太複雜沒有人會想包...

發表人:  dken [ 2005-04-19, 14:46 ]
文章主題 : 

用安裝檔其實是很簡單製作的,就像我之前提到的,bookmarks.html 和 search plugins 目錄置換掉即可。

然後首頁換成 PowerPack 安裝網頁,這樣就完成 PowerPack 的製作了。

改語系檔的話會更容易些。所以對於 moztw 這邊只要丟出個樣板,然後讓大家修改即可。

發表人:  dken [ 2005-04-19, 22:20 ]
文章主題 : 

真是問題重重....

1. browser 關掉後,會自動回存 bookmarks,所以在用 Extension manager 安裝 bookmarks.html 後,還是會被還原成原來的 bookmarks。

2. searchplugins 內不只一個檔案,如果要搬移一整個目錄的話,目前 xpinstall object 沒有看到相關 method,也許要使用 xpcom 來達成?

發表人:  softcup [ 2005-04-20, 00:20 ]
文章主題 : 

dken 寫:
2. searchplugins 內不只一個檔案,如果要搬移一整個目錄的話,目前 xpinstall object 沒有看到相關 method,也許要使用 xpcom 來達成?

xpinstall 可以複製整個目錄的檔案,請參考下面的範例,或者可以參考 flash 的 plugin 安裝程式‧
代碼:
jar 的目錄結構
[D] Root
├ [D] Components
│ ├ file1.js
│ └ file2.js
└ install.js
代碼:
// install.js 的片段程式
var componentsFolder = getFolder("Components");
setPackageFolder(componentsFolder);
err = addDirectory("Telnet Protocol",
    "1.0.0.1",          // 版本號 (可忽略)
    "Components",       // 在 jar 中的目錄名稱
    componentsFolder,   // 複製到哪個目錄中
    "",                 //
    true);              // Force Flag

上述的程式會將 file1.js 與 file2.js 複製到 Components 的目錄中‧

發表人:  dken [ 2005-04-20, 00:24 ]
文章主題 : 

softcup 寫:
dken 寫:
2. searchplugins 內不只一個檔案,如果要搬移一整個目錄的話,目前 xpinstall object 沒有看到相關 method,也許要使用 xpcom 來達成?

xpinstall 可以複製整個目錄的檔案,請參考下面的範例,或者可以參考 flash 的 plugin 安裝程式‧
代碼:
jar 的目錄結構
[D] Root
├ [D] Components
│ ├ file1.js
│ └ file2.js
└ install.js
代碼:
// install.js 的片段程式
var componentsFolder = getFolder("Components");
setPackageFolder(componentsFolder);
err = addDirectory("Telnet Protocol",
    "1.0.0.1",          // 版本號 (可忽略)
    "Components",       // 在 jar 中的目錄名稱
    componentsFolder,   // 複製到哪個目錄中
    "",                 //
    true);              // Force Flag


嗯謝謝.....我用這個方式解決了
---
var folder = getFolder(nowFolder,"searchplugins");
setPackageFolder(folder);
addDirectory('chrome/'+ "searchplugins");
---
原來 getFolder 的第一個參數可以不用使用系統的設定值啊...:)

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/