在理解上述的前提下,讓我們回來說明檢查套件安裝後體積大小的方法。其實,你也可以直接到Firefox Profile資料夾中查看每個套件資料夾所佔用的體積,但因為這裡每個套件都是使用代碼表示,要找出哪個代碼是哪個套件,還要花上不少時間。

P.S.安裝Firefox套件時,你會看到下載檔案的體積,但這和套件安裝後的體積不同。

而今天要介紹的方法相對來說就快速許多,首先,我們利用〔Ctrl〕+〔Shift〕+〔J〕打開「錯誤主控台」。
firefox big extesion-03
接著切換到〔錯誤〕頁面,在「程式碼」欄位,填入下面適用於Firefox 3.6.x或Firefox 4的程式碼,接著按下〔執行〕。然後就會在彈出視窗中看到每個擴充套件的體積大小清單了。

來源:Display The Size Of All Firefox Add-Ons, In Firefox




Firefox 4適用程式碼:

const CI = Components.interfaces;
const CC = Components.classes;

function computeSizeRecursive(file)
{
file.QueryInterface(CI.nsIFile);
if(file.isSymlink())
{
return 0;
}

var size = file.fileSize;
if(file.isDirectory())
{
var files = file.directoryEntries;
while(files.hasMoreElements())
{
size += computeSizeRecursive(files.getNext());
}
}
return size;
}

Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAllAddons(function(addons)
{
var addonData = "data:text/html,"
+ "<!DOCTYPE html>"
+ "<html lang=\"en\">"
+ " <head>"
+ " <title>"
+ " Additional Addon Information"
+ " </title>"
+ " </head>"
+ " <body>"
+ " <table>"
+ " <tr>"
+ " <td>"
+ " ID"
+ " </td>"
+ " <td>"
+ " Name"
+ " </td>"
+ " <td>"
+ " Size"
+ " </td>"
+ " </tr>";

addons.forEach(function(addon)
{
addonData += ""
+ "<tr>"
+ " <td>"
+ " " + addon.id
+ " </td>"
+ " <td>"
+ " " + addon.name
+ " </td>"
+ " <td>"
+ " " + ((addon.getResourceURI)
? computeSizeRecursive(addon.getResourceURI()
.QueryInterface(CI.nsIFileURL).file)
: "Unknown")
+ " </td>"
+ "</tr>";
});

addonData += ""
+ " </table>"
+ " </body>"
+ "</html>";

var windowManager = CC['@mozilla.org/appshell/window-mediator;1']
.getService(CI.nsIWindowMediator);
var win = windowManager.getMostRecentWindow("navigator:browser");
win.open(addonData, "", "");

});




創作者介紹

jcjin的心情筆記

jcjin 發表在 痞客邦 PIXNET 留言(0) 人氣()