舊版格式

此頁面介紹的是舊版 Web 擴充套件的版本字串格式。有關當前版本字串格式的資訊,請參閱 manifest version 鍵文件。

Firefox 舊版版本號

一個版本字串由一個或多個版本部分組成,各部分之間用點號分隔。

每個版本部分都解析為四個部分的序列:<number-a><string-b><number-c><string-d>。每個部分都是可選的。數字是十進位制整數(可以是負數),字串是非數字的 ASCII 字元。

以下是一些有效版本部分的示例

  • 0(如 1.0):<number-a>=0
  • 5a(如 1.5a):<number-a>=5<string-b>=a
  • 5pre4(如 3.5pre4):<number-a>=5<string-b>=pre<number-c>=4
  • *(如 1.0.*):<string-b>=*

為了向後相容和提高可讀性,會應用一些特殊的解析規則。

  • 如果版本部分是單個星號,則將其解釋為一個無限大的數字:1.5.0.*1.5.0.(infinity) 相同。
  • 如果 string-b 是加號,則 number-a 會遞增,以相容 Firefox 1.0.x 版本格式:1.0+1.1pre 相同。

將版本部分拆分為字串和數字序列的目的是,在比較版本部分時,數字部分按數字大小比較,例如,“1.0pre1” < '1.0pre10',而字串則按位元組序比較。有關版本如何比較的詳細資訊,請參閱下一節。

從 Firefox 108 開始,使用此版本字串的 Web 擴充套件在安裝時會觸發警告。

版本比較

在比較兩個版本字串時,會從左到右比較它們的版本部分。空版本部分或缺失版本部分等同於 0

如果在某個點上,一個版本字串的某個版本部分大於另一個版本字串的相應版本部分,則第一個版本字串大於另一個。

否則,這兩個版本字串相等。由於缺失的版本部分被視為 0,因此這些版本字串是相等的:11.01.0.1.0.0,甚至 1.0..

比較版本部分

版本部分也是從左到右比較的;A 部分和 C 部分按數字大小比較,而 B 部分和 D 部分按位元組序比較。存在的字串部分始終小於不存在的字串部分(1.6a 小於 1.6)。

示例

1.-1
< 1 == 1. == 1.0 == 1.0.0
< 1.1a < 1.1aa < 1.1ab < 1.1b < 1.1c
< 1.1pre == 1.1pre0 == 1.0+
< 1.1pre1a < 1.1pre1aa < 1.1pre1b < 1.1pre1
< 1.1pre2
< 1.1pre10
< 1.1.-1
< 1.1 == 1.1.0 == 1.1.00
< 1.10
< 1.* < 1.*.1
< 2.0