IAdblockPlus

General notes

本介面可供希望整合 Adblock Plus 的擴充套件使用。 它可以從 Adblock Plus 取得部份資訊,或者加入由其他套件所更新的「額外」條件集。

if ("@adblockplus.org/abp/public;1" in Components.classes)
{
  var abpURL = Components.classes["@adblockplus.org/abp/public;1"]
                         .getService(Components.interfaces.nsIURI);
  var AdblockPlus = Components.utils.import(abpURL.spec, null).AdblockPlus;
  alert(AdblockPlus.subscriptionCount);
}
else
{
  // Adblock Plus is not installed
}

Methods and properties


void addPatterns ( arrayof wstring patterns )

要增加到使用者自訂規則列表的過濾條件

Version:
0.7.2.3 and higher
Arguments:
patterns: 要加入的過濾條件

AString getInstalledVersion ( )

取回已安裝的 Adblock Plus 套件版本編號。請注意這是由套件管理員或 InstallTrigger 所回報的版本編號,在 Mozilla Suite 或 SeaMonkey 中使用後者可能導致結果不正確。

Returns:
Adblock Plus 版本編號,如 0.7.0.1

IAdblockPlusSubscription getSubscription ( AString id )

根據辨識碼取回一個條件集

Arguments:
id: 該條件集的辨識碼 (對一般的條件集而言就是它的 URL )
Returns:
要求的條件集,若沒有給予辨識碼的條件集則回傳null

IAdblockPlusSubscription getSubscriptionAt ( PRInt32 index )

根據列表中的位址取回一個條件集

Arguments:
index: 條件集在列表中的位址,從零開始。
Returns:
要求的條件集,若提供的索引無效則回傳 null

boolean removeExternalSubscription ( AString id )

移除一個外部條件集

Arguments:
id: 條件集的識別碼 (外部的條件集可以是任何字串)
Returns:
true若該條件集被成功移除則回傳 true,false若該條件集不存在或條件集並非由外部管理則回傳 false。

void removePatterns ( arrayof wstring patterns )

要從使用者自訂規則列表中移除的過濾條件

Version:
0.7.2.3 and higher
Arguments:
patterns: 要移除的過濾條件

readonly PRInt32 subscriptionCount

訂閱條件集數量 (包含特殊的條件集)


wstring updateExternalSubscription ( AString id, AUTF8String title, arrayof wstring patterns )

更新一個外部條件集 (若該條件集不存在,則會建立它)。這種條件集不會由 Adblock Plus 更新,而是由該套件負責呼叫這個方法來更新,或者在不需要此條件集時刪除它。

Adblock Plus 1.3 或以上版本:外部條件集將不再和其他條件集一起儲存在硬碟中,每次瀏覽器啟動需要呼叫 updateExternalSubscription() 來還原這個條件集。這是用來避免移除管理該外部條件集的套件時保留過時的規則。

另外,在 Adblock Plus 1.3 之前的版本,這個方法會回傳一個表示該條件集是否可被建立的布林值。Adblock Plus 1.3 後的版本建立一個條件集不再會失敗,但辨識碼可能會被複寫 — 並回傳新的辨識碼。

Arguments:
id: 條件集的辨識碼 (外部的條件集可以是任何字串)
title: 建立新條件集時用來當作條件集的標題。如果條件集已經存在,這個參數將被忽略。
patterns: 條件集應包含的過濾條件
Returns:
有效的條件集識別碼 (可能與 id 參數不一致)