Firefox 15 for developers 發行說明

Firefox 15 於 2012 年 8 月 28 日釋出。本文件列出了對 Web 開發者、Firefox 和 Gecko 開發者以及附加元件開發者都很有用的重要變更。

面向網路開發者的變更

HTML

  • 現在,<font> 元素的 size 屬性將按照 HTML5 規範進行處理。這意味著所有大於 10 或小於 -10 的整數值現在分別被視為等同於 10 和 -10。
  • 已移除對 <font> 元素上的 font-weightpoint-size 屬性的支援;這些屬性是非標準的,並且只有 Gecko 支援它們。
  • 現在,HTML 的 <audio><video> 元素在 Ogg 容器中支援 Opus 音訊編解碼器。(Opus codec)
  • 現在,<source> 元素支援 media 屬性。
  • 現在,<audio><video> 元素支援 played 屬性,該屬性提供一個 TimeRanges 物件,列出到目前為止已播放的媒體的時間範圍。

CSS

  • font-feature-settings 屬性已更新為最新語法:font-feature-settings: "lnum" 1;
  • CSS text-transform 屬性已擴充套件,以正確處理 Unicode 連字字元(例如 )。
  • 已實現 CSS word-break 屬性。
  • border-image 屬性已更新以匹配最新的規範,並且屬性已移除字首。(bug 713643
  • skew() transform 函式在 Firefox 14 中被移除,但由於現有網站相容性問題已恢復。但是,建議作者使用 skewX()skewY() 函式。
  • CSS unicode-bidi 屬性的 plaintext 值現在也適用於內聯元素。(Firefox bug 746987)。

DOM

  • DOM Events Level 3 方法 KeyboardEvent.getModifierState()MouseEvent.getModifierState() 已實現,這些方法允許您查詢修飾鍵(如 CtrlShift)的狀態(bugs 630811731878)。但行為符合最新的 D3E 草案。因此,某些修飾鍵名稱與 IE 不同(Firefox bug 769190)。
  • 在滑鼠事件中,已實現使用 MouseEvent.buttons 屬性查詢滑鼠按鈕狀態的支援。
  • 在鍵盤事件中,已實現使用 KeyboardEvent.location 屬性查詢按鍵位置(標準、修飾鍵的左側或右側、在數字小鍵盤上)的支援。(Firefox bug 166240)。
  • KeyboardEvent.keycode 的結果已根據更最佳化的規則計算,這些規則在 Windows/Linux/Mac 上幾乎相同。現在,在 Linux 和 Mac 上的一些非 ASCII 字元集鍵盤佈局(例如阿拉伯語、西里爾語、泰語等)上也可以使用。請參閱 虛擬鍵碼文件
  • range.detach() 方法已轉換為無操作(no-op),並可能在將來被移除。
  • 已實現 HTMLVideoElement.mozHasAudio() 方法。它指示給定的影片元素是否關聯了音訊軌道。(bug 480376
  • Performance API 新增了一個方法 now(),支援 DOMHighResTimeStamp 型別的精確計時器。(bug 539095)。
  • 已更新 WebSMS API,現在支援一個 read 屬性,用於指示簡訊是否已讀或未讀。
  • 已實現 FileHandle API
  • 現在,除了 ArrayBuffer 之外,Blob 建構函式還能接受 ArrayBufferView 作為 blobParts 引數的成員。(bug 752402
  • 已實現 Ambient Light Events Working Draft 中指定的 DeviceLightEvent
  • 已實現 Proximity EventsDeviceProximityEventUserProximityEvent
  • 已實現 File lastModifiedDate 屬性。(Firefox bug 673586

JavaScript

WebGL

  • 已新增對 WEBGL_compressed_texture_s3tc 擴充套件的支援。壓縮紋理減少了在 GPU 上儲存紋理所需的記憶體量,從而可以使用更高解析度的紋理或更多的相同解析度的紋理。

MathML

  • 數學運算子現在可以使用 @font-face 指定的可下載字型。這使得 MathML-fonts 附加元件也可以與可伸縮運算子一起使用。
  • <maction> 元素的 selection 屬性現在僅在 toggle actiontype 時才被考慮。
  • 已移除已棄用的名稱空間繫結。(Deprecated namedspace binding)(Firefox bug 673759)。
  • Length<mpadded> 值的支援已更接近 MathML3 規範中的定義。
  • 已向運算子字典添加了新的阿拉伯數學映象運算子(Firefox bug 757125)。

SVG

網路

  • 已合併對 SPDY v3 協議的支援。預設停用,可以透過將首選項 network.http.spdy.enabled.v3 設定為 true 來啟用。(bug 737470

面向附加元件和 Mozilla 開發者的變更

介面更改

nsIDOMWindowUtils

sendMouseEvent()sendTouchEvent()sendMouseEventToWindow()sendMouseScrollEvent()sendKeyEvent()aModifiers 支援 KeyboardEvent.getModifierState() 支援的所有修飾鍵。請使用 MODIFIER_* 值。現在 sendKeyEvent() 的第五個引數已從 boolean 更改為 unsigned long。為了向後相容,如果呼叫者傳遞 truefalse,行為不會改變。此更改允許呼叫者指定按鍵的位置。

nsIBrowserHistory

hidePage() 方法從未實現過,並且在此版本中已被完全移除。作為使所有“Places API”非同步的持續工作的一部分,addPageWithDetails() 方法也被移除;請改用 mozIAsyncHistory.updatePlaces()。此外,count 屬性也被移除;它在一段時間內都沒有返回實際計數(而是指示是否存在任何條目)。您可以使用 nsINavHistoryService.hasHistoryEntries 代替。

nsIDOMUtils

已新增 nsIDOMUtils.parseStyleSheet() 方法,該方法允許(重新)解析層疊樣式表。

nsIINIParserWriter

nsIINIParserWriter.writeFile() 方法現在接受一個 flags 屬性。目前只有一個選項:您可以告知它以 UTF-16 格式寫入檔案,而不是 UTF-8,以便與 Windows 和某些安裝程式更好地相容。

新介面

nsISpeculativeConnect

提供了一種向網路層提示您很可能在不久的將來開啟到給定 URI 的連線的方法。這使得網路層可以提前開始有時延遲很高的開啟新網路連線的過程。

已移除的介面

以下介面已被移除

  • nsIGlobalHistory