blob: 6a7083e2b22456d1fb986908c9808ea1ff03cf72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
---
title: Firefox 3.5 技術文件
slug: orphaned/Firefox_3.5_技術文件
tags:
- Firefox
- Firefox 3.5
original_slug: Firefox_3.5_技術文件
---
<p>Firefox 3.5 加入很多新功能,當然也加強了對各式網際標準的支援程度。這篇文章大致說明改進的部份、詳細的說明可見英文版原文。</p>
<p>限於人力,大部分的文章都是英文版。如果您有興趣,請協助翻譯。</p>
<h2 id="3.5_技術面新功能">3.5 技術面新功能</h2>
<h3 id="網站、網際程式部份">網站、網際程式部份</h3>
<h4 id="加強支援_HTML_5">加強支援 HTML 5</h4>
<dl>
<dt>
<a class="internal" href="/En/Using_audio_and_video_in_Firefox" title="En/Using audio and video in Firefox">在 Firefox 中操作影片、音效</a></dt>
<dd>
Firefox 3.5 支援 HTML 5 的 <a class="internal" href="/En/HTML/Element/Audio" title="En/HTML/Element/Audio"><code>audio</code></a> 及 <a class="internal" href="/En/HTML/Element/Video" title="En/HTML/Element/Video"><code>video</code></a> 元素。藉由原生支援,影片、音效可以經由 JavaScript 直接操作 (播放、暫停等)。目前只支援 Ogg 及 WAV 兩種格式的影音檔,未來可能支援其他的格式。</dd>
<dt>
<a class="internal" href="/en/Offline_resources_in_Firefox" title="En/Offline resources in Firefox">離線資源</a></dt>
<dd>
Firefox 3.5 現在完整支援 HTML 5 的離線資源規格。需注意的是,在 Firefox 3 雖已經支援部份規格、但由於推出後 HTML 5 離線資源規格已然修改,是以毋需再針對 Firefox 3 設計相關程式。3.5 支援的是最新的規格。</dd>
<dt>
<a class="internal" href="/En/DragDrop/Drag_and_Drop" title="En/DragDrop/Drag and Drop">拖放事件</a></dt>
<dd>
HTML 5 拖放 (drag & drop) API 提供在網站內 (甚至跨網站) 拖放物件的相關功能。同時,這也讓 Mozilla 相關的程式擴充套件有了比較簡單的 API 可以使用。</dd>
</dl>
<h4 id="新增功能:CSS_部份">新增功能:CSS 部份</h4>
<dl>
<dt>
<a class="internal" href="/en/CSS/@font-face" title="En/CSS/@font-face">動態下載字形</a></dt>
<dd>
新支援的 <code>@font-face</code> 樣式規則,網頁可以藉此提供字形讓使用者動態下載、以設計師所期待的最佳字形檢視網頁。</dd>
<dt>
<a class="internal" href="/En/CSS/Media_queries" title="En/CSS/Media queries">CSS 媒介判讀</a></dt>
<dd>
Firefox 3.5 現在支援 CSS 媒介判讀 (media queries),可以讓不同的媒介使用不同的樣式規則。</dd>
<dt>
更新 <a class="internal" href="/en/CSS/:before" title="En/CSS/:before"><code>::before</code></a> 及 <a class="internal" href="/en/CSS/:after" title="En/CSS/:after"><code>::after</code></a> 行為以符合 CSS 2.1</dt>
<dd>
<code>::before</code> 及 <code>::after</code> 兩個擬態元素 (pseudo-element) 已經更新,以便完整支援 CSS 2.1 相關規格。新增關於 <code>position</code>、<code>float</code>、<code>list-style-*</code> 及部份 <code>display</code> 特性。</dd>
</dl>
<dl>
<dt>
<a class="internal" href="/en/CSS/opacity" title="En/CSS/Opacity"><code>opacity</code></a></dt>
<dd>
Mozilla 先前提供的 <code>-moz-opacity</code> 特性已經停止支援,請改用標準的 <code>opacity</code> 特性。</dd>
<dt>
<a class="internal" href="/en/CSS/text-shadow" title="En/CSS/Text-shadow"><code>text-shadow</code></a></dt>
<dd>
Firefox 3.5 開始支援 <code>text-shadow</code> 特性,可以為網頁上的文字加上陰影效果。</dd>
<dt>
<a class="internal" href="/En/CSS/Word-wrap" title="En/CSS/Word-wrap"><code>word-wrap</code></a></dt>
<dd>
此特性可設定是否允許某行文字溢出版面時自動調整斷行。</dd>
<dt>
<a class="internal" href="/en/CSS/-moz-box-shadow" title="En/CSS/-moz-box-shadow"><code>-moz-box-shadow</code></a></dt>
<dt>
<a class="internal" href="/En/CSS/-moz-border-image" title="En/CSS/-moz-border-image"><code>-moz-border-image</code></a></dt>
<dt>
<a class="internal" href="/En/CSS/-moz-column-rule" title="En/CSS/-moz-column-rule"><code>-moz-column-rule</code></a></dt>
<dt>
<a class="internal" href="/En/CSS/-moz-column-rule-width" title="En/CSS/-moz-column-rule-width"><code>-moz-column-rule-width</code></a></dt>
<dt>
<a class="internal" href="/En/CSS/-moz-column-rule-style" title="En/CSS/-moz-column-rule-style"><code>-moz-column-rule-style</code></a></dt>
<dt>
<a class="internal" href="/En/CSS/-moz-column-rule-color" title="En/CSS/-moz-column-rule-color"><code>-moz-column-rule-color</code></a></dt>
<dt>
<a class="internal" href="/en/CSS/-moz-column-gap" title="En/CSS/-moz-column-gap"><code>-moz-column-gap</code></a></dt>
<dd>
Firefox 3.1 開始新增上述 Mozilla 擴充特性。</dd>
<dt>
<a class="internal" href="/en/CSS/color#Mozilla_Specific_Colors" title="En/CSS/color#Mozilla Specific Colors"><code>-moz-nativehyperlinktext</code> 色彩值</a></dt>
<dd>
新的色彩設定值,顯示為系統的預設連結色彩。</dd>
<dt>
<a class="internal" href="/En/CSS/-moz-window-shadow" title="En/CSS/-moz-window-shadow"><code>-moz-window-shadow</code></a> 及 <a class="internal" href="/En/CSS/:-moz-system-metric(mac-graphite-theme)" title="En/CSS/:-moz-system-metric(mac-graphite-theme)"><code>-moz-system-metric(mac-graphite-theme)</code></a> 特性</dt>
<dd>
為了方便佈景主題製作而新增的 CSS 特性。</dd>
<dt>
<a class="internal" href="/en/CSS/-moz-appearance" title="En/CSS/-moz-appearance"><code>-moz-appearance</code></a> 支援新設定值</dt>
<dd>
<code>-moz-appearance</code> 開始支援 <code>-moz-win-glass</code> 及 <code>-moz-mac-unified-toolbar</code> 兩種新設定值。</dd>
<dt>
<a class="internal" href="/En/CSS/Using_CSS_transforms" title="En/CSS/Using CSS transforms">CSS 變形</a></dt>
<dd>
Firefox 3.5 開始支援 CSS 變形特性,詳情請見 <a class="internal" href="/En/CSS/-moz-transform" title="En/CSS/-moz-transform"><code>-moz-transform</code></a> 及 <a class="internal" href="/En/CSS/-moz-transform-origin" title="En/CSS/-moz-transform-origin"><code>-moz-transform-origin</code></a>。</dd>
<dt>
<a class="internal" href="/en/CSS/:nth-child" title="En/CSS/:nth-child"><code>:nth-child</code></a></dt>
<dt>
<code><a class="internal" href="/en/CSS/:nth-last-child" title="En/CSS/:nth-last-child">:nth-last-child</a></code></dt>
<dt>
<code><a class="internal" href="/en/CSS/:nth-of-type" title="En/CSS/:nth-of-type">:nth-of-type</a></code></dt>
<dt>
<code><a class="internal" href="/en/CSS/:nth-last-of-type" title="En/CSS/:nth-last-of-type">:nth-last-of-type</a></code></dt>
<dt>
<code><a class="internal" href="/en/CSS/:first-of-type" title="En/CSS/:first-of-type">:first-of-type</a></code></dt>
<dt>
<code><a class="internal" href="/en/CSS/:nth-last-of-type" title="En/CSS/:nth-last-of-type">:last-of-type</a></code></dt>
<dt>
<a class="internal" href="/en/CSS/:only-of-type" title="En/CSS/:only-of-type"><code>:only-of-type</code></a></dt>
<dd>
Firefox 3.5 開始支援上述選取符。</dd>
</dl>
<h4 id="新增功能:DOM_部份">新增功能:DOM 部份</h4>
<dl>
<dt>
<a class="internal" href="/En/Using_web_workers" title="En/Using DOM workers">DOM 背景工作序</a></dt>
<dd>
Firefox 3.5 支援 DOM 背景工作緒 (workers),方便網際應用程式以多執行緒方式執行。</dd>
<dt>
<a class="internal" href="/En/Using_geolocation" title="En/Using geolocation">地理位置</a></dt>
<dd>
Firefox 3.5 支援地理資訊 (Geolocation) API,在安裝有相關元件 (Geolocation provider)並啟用的狀態下、允許網際應用程式取得使用者目前的所在地。</dd>
<dt>
<a class="internal" href="/En/Using_JSON_in_Firefox" title="En/Using JSON in Firefox">在 Firefox 中使用 JSON</a></dt>
<dd>
DOM 已經整合對 <a class="internal" href="/en/JSON" title="En/JSON">JSON</a> 的支援。</dd>
</dl>
<dl>
<dt>
<a class="internal" href="/En/DOM/Locating_DOM_elements_using_selectors" title="en/DOM/Locating DOM elements using selectors">以選取符取用 DOM 元素</a></dt>
<dd>
選取符 API 讓開發人員以類似 CSS 的選取符指定 DOM 元素方便操作。</dd>
<dt>
<a class="internal" href="/En/DOM/NodeIterator" title="En/DOM/NodeIterator"><code>NodeIterator</code> 物件</a></dt>
<dd>
<code>NodeIterator</code> 提供在DOM子樹中對節點列表進行往返(iterating)的支援。</dd>
<dt>
<a class="internal" href="/en/Gecko-Specific_DOM_Events#MozAfterPaint" title="en/Gecko-Specific DOM Events#MozAfterPaint">MozAfterPaint 事件</a></dt>
<dd>
新 DOM 事件,在視窗重繪時觸發。</dd>
<dt>
<a class="internal" href="/en/Gecko-Specific_DOM_Events#MozMousePixelScroll" title="en/Gecko-Specific DOM Events#MozMousePixelScroll">MozMousePixelScroll 事件</a></dt>
<dd>
新 DOM 事件,允許偵測滑鼠滾輪事件,且是以像素為單位、非以往的「行」。</dd>
</dl>
<h4 id="新增功能:JavaScript">新增功能:JavaScript</h4>
<dl>
<dt>
<a class="internal" href="/En/Core_JavaScript_1.5_Reference/Global_Objects/Object/GetPrototypeOf" title="En/Core JavaScript 1.5 Reference/Global Objects/Object/GetPrototypeOf"><code>Object.getPrototypeOf()</code></a></dt>
<dd>
傳回指定物件的原型。</dd>
<dt>
字串物件的「修剪」方法</dt>
<dd>
<a class="internal" href="/en/Core_JavaScript_1.5_Reference/Global_Objects/String" title="en/Core JavaScript 1.5 Reference/Global Objects/String"><code>String</code></a> 物件現在可藉 <a class="internal" href="../../../../En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim" rel="internal"><code>trim()</code></a>、<a class="internal" href="../../../../En/Core_JavaScript_1.5_Reference/Global_Objects/String/TrimLeft" rel="internal"><code>trimLeft()</code></a> 及 <a class="internal" href="../../../../En/Core_JavaScript_1.5_Reference/Global_Objects/String/TrimRight" rel="internal"><code>trimRight()</code></a> 等方法清除空白部份。</dd>
</dl>
<h4 id="其他新功能">其他新功能</h4>
<dl>
<dt>
<a class="internal" href="/En/ICC_color_correction_in_Firefox" title="en/ICC color correction in Firefox">ICC 色彩校正</a></dt>
<dd>
Firefox 3.5 現在支援圖片的 ICC 色彩校正。</dd>
<dt>
<a class="internal" href="/En/HTML/Element/Script" title="En/HTML/Element/script"><code>script</code></a> 元素支援 <code>defer</code> 屬性</dt>
<dd>
此屬性讓瀏覽器可以決定是否要等待此段腳本執行完畢後再繼續分析、繪制網頁。</dd>
<dt>
<a class="internal" href="/En/Controlling_DNS_prefetching" title="en/Controlling DNS prefetching">控制預讀 DNS</a></dt>
<dd>
Firefox 3.5 提供預讀 DNS 功能,不必等到真的按下連結、就可以先行處理本頁裡各連結網址的域名查詢,讓使用者感覺更快。本文說明操作這個行為的方法,包括如何停用、如何調整此功能。</dd>
</dl>
<h4 id="新增功能:Canvas_部份">新增功能:Canvas 部份</h4>
<dl>
<dt>
<a class="internal" href="/en/Drawing_text_using_a_canvas" title="en/Drawing text using a canvas"><code>canvas</code> 元素中的 HTML 5 text API</a></dt>
<dd>
Canvas 元素開始支援 HTML 5 text API。</dd>
<dt>
<a class="internal" href="/en/Canvas_tutorial/Applying_styles_and_colors#Shadows" title="en/Canvas tutorial/Applying styles and colors#Shadows"><code>canvas</code> 支援陰影效果</a></dt>
<dd>
此版開始支援 Canvas 陰影效果。</dd>
<dt>
<code>moz-opaque</code> 屬性</dt>
<dd>
增加 <code>moz-opaque</code> DOM 屬性,指定 canvas 是否需要使用透明效果。如果一開始就確定不會有透明效果、那麼繪製的效率便能最佳化。</dd>
</dl>
<h4 id="新增功能:SVG_部份">新增功能:SVG 部份</h4>
<dl>
<dt>
<a class="internal" href="/En/Applying_SVG_effects_to_HTML_content" title="en/Applying SVG effects to HTML content">在 HTML 內容中套用 SVG 特效</a></dt>
<dd>
你現在可以在 HTML 及 XHTML 內容中套用 SVG 特效。</dd>
</dl>
<h3 id="其他改良要點">其他改良要點</h3>
<ul>
<li><code>ch</code> 已可用於任何支援<a class="internal" href="/en/length" title="En/Length">單位設定值</a>之處;「1 ch」便是「0」字元的寬度。</li>
<li><a class="internal" href="/en/CSS/white-space" title="En/CSS/White-space"><code>white-space</code></a> 特性開始支援 <code>pre-line</code> 設定值。</li>
<li>文字結點已經實現 <code><a class="internal" href="../../../../En/DOM/Text.wholeText" rel="internal">wholeText</a></code> 屬性和 <code><a class="internal" href="../../../../En/DOM/Text.replaceWholeText" rel="internal">replaceWholeText()</a></code> 方法。</li>
<li>增加了 <code><a class="internal" href="../../../../En/DOM/Element.children" rel="internal">element.children</a></code> 屬性。它會回傳在指定元素下的子元素<em>集合</em>。</li>
<li>DOM的 <a class="internal" href="../../../../en/DOM/element" rel="internal">Element</a> 物件現在支援了Element Traversal API。</li>
<li>HTML 節點可以使用 <a class="internal" href="/En/DOM/Node/CloneNode" title="En/DOM/Node/CloneNode"><code>cloneNode()</code></a> 複製。</li>
<li>被傳送(Dispatch)過的 DOM 事件可以再被傳送。這讓 Firefox 3.5 通過了 Acid 3 中的 test 30.</li>
<li>改進了DOM 2 Range 的處理。</li>
<li>在非 chrome 範圍下,在例外中被擲回的物件現在確實是該擲回的物件,而並非一個包含該被擲回物件的 <a class="internal" href="/en/XPConnect" title="En/XPConnect">XPConnect</a> wrapper。</li>
<li>SVG 的 ID references 現在可用了。</li>
<li>SVG filters 現在對 <code>foreignObject</code> 也有用。</li>
<li>為了相容性,<code>GetSVGDocument()</code> 方法已加入到 <a class="internal" href="/en/HTML/Element/object" title="En/HTML/Element/Object"><code>object</code></a> 和 <a class="internal" href="/en/HTML/Element/Iframe" title="en/HTML/Element/Iframe"><code>iframe</code></a> 元素。</li>
</ul>
<h3 id="XUL_及套件開發相關">XUL 及套件開發相關</h3>
<p>如果您曾開發擴充套件,那麼請先閱讀<a class="internal" href="/En/Updating_extensions_for_Firefox_3.5" title="En/Updating extensions for Firefox 3.5">為 Firefox 3.5 更新套件</a>(英文),裡頭說明了新版本對套件可能衍生的影響。</p>
<h4 id="新元件、函式">新元件、函式</h4>
<dl>
<dt>
<a class="internal" href="/En/HTTP_access_control" title="En/HTTP access control">跨網域 HTTP 存取控制</a></dt>
<dd>
當伺服器提供相關支援,則 Firefox 3.5 可以操作包含 <a class="internal" href="/en/XMLHttpRequest" title="En/XMLHttpRequest"><code>XMLHttpRequest</code></a> 在內的跨網域 HTTP 存取方式。</dd>
<dt>
<a class="internal" href="/En/Using_XMLHttpRequest#Monitoring_progress" title="En/Using XMLHttpRequest#Monitoring progress"><code>XMLHttpRequest</code> 進度事件</a></dt>
<dd>
讓擴充套件得以監控相關進度。</dd>
<dt>
<a class="internal" href="/En/Supporting_private_browsing_mode" title="En/Supporting private browsing mode">支援隱密瀏覽模式</a></dt>
<dd>
Firefox 3.5 支援隱密瀏覽模式,不會紀錄使用者的活動。擴充套件如需支援隱密模式,可以參考這份文件。</dd>
<dt>
<a class="internal" href="/En/Security_changes_in_Firefox_3.5" title="en/Security changes in Firefox 3.1">Firefox 3.5 安全相關變動</a></dt>
<dd>
Firefox 3.5 安全性相關的變動說明。</dd>
<dt>
<a class="internal" href="/En/Theme_changes_in_Firefox_3.5" title="En/Theme changes in Firefox 3.1">Firefox 3.5 佈景主題變動</a></dt>
<dd>
Firefox 3.5 佈景主題相關的變動說明。</dd>
</dl>
<h4 id="其他值得一提的改良、改變">其他值得一提的改良、改變</h4>
<ul>
<li>XUL 的 <code><a class="internal" href="../../../../en/XUL/textbox" rel="internal">textbox</a></code> widget 現在提供了搜尋欄位用的 <code><a class="internal" href="../../../../en/XUL/Attribute/textbox.type" rel="internal">search</a></code> 類型。</li>
<li>為了支援跨視窗間的滑鼠拖放,<a class="internal" href="/en/XUL/browser" title="En/XUL/Browser"><code>browser</code></a> 新增了 <a class="internal" href="/En/XUL/Method/SwapDocShells" title="En/XUL/Method/SwapDocShells"><code>swapDocShells()</code></a> 方法。</li>
<li><a class="internal" href="/En/XUL/Attribute/Panel.level" title="en/XUL/Attribute/panel.level">En/XUL/Attribute/Panel.level</a> <a class="internal" href="/en/XUL/panel" title="En/XUL/Panel"><code>panel</code></a> 元素新增了 <a class="internal" href="/En/XUL/Attribute/Panel.level" title="en/XUL/Attribute/panel.level"><code>level</code></a> 屬性;可用於指定 Panel 要顯示在所有程式的頂端,或是只在包含此Panel之視窗的頂端。</li>
<li>XUL 元素開始支援 <code>clientXXX</code> 及 <code>scrollXXX</code> 等特性。</li>
<li><a class="internal" href="/en/XUL/keyset" title="En/XUL/Keyset"><code>keyset</code></a> 現在可以包含 <code>disabled</code> 屬性。</li>
<li>另外,<code>keyset</code> 現在也可以使用 <a class="internal" href="/En/DOM/Node.removeChild" title="En/DOM/Node.removeChild"><code>removeChild()</code></a> 方法來移除。</li>
<li><span class="lang lang-en"><code><a href="../../../../en/mozIStorageStatement" rel="internal">mozIStorageStatement</a></code> </span>移除了 <code>initialize()</code> 方法;consumer應該改用 <span class="lang lang-en"><code><a href="../../../../en/mozIStorageConnection#createStatement%28%29" rel="internal">createStatement()</a></code> </span> 方法而非取得一個新的 statment 物件。</li>
<li><a class="internal" href="/en/Storage" title="En/Storage">Storage</a> API 現在支援了非同步請求。</li>
<li><a class="internal" href="/en/nsICookie2" title="En/NsICookie2"><code>nsICookie2</code></a> 介面現在會透過其新的 <code>creationTime</code> 屬性透露Cookie被建立的時間。</li>
<li>在 <code><a class="internal" href="../../../../en/nsIProtocolHandler" rel="internal">nsIProtocolHandler</a></code> 增加了一個旗標 (<code>URI_IS_LOCAL_RESOURCE</code>) ,會在 Chrome 註冊時被檢查已確定這樣的協定(Protocol)是否可被允許建立。</li>
<li>Firefox 現在在 Linux 下會在 <code>/usr/lib/mozilla/plugins</code> ,以及過去支援的位置,尋找 Plugin。</li>
<li>Plugin API 更新了對於隱私瀏覽模式的支援。你現在可以使用 <a class="internal" href="/en/NPN_GetValue" title="En/NPN GetValue"><code>NPN_GetValue()</code></a> ,使用變數 <code>NPNVprivateModeBool</code> 來查詢隱私瀏覽模式的狀態。</li>
</ul>
<p>{{ languages( { "en": "en-US/Firefox/Releases/3.5"} ) }}</p>
|