Firefox 3.5 for developers

공헌자 숫자: 2명

Firefox 3.5은 넓은 범위의 향상된 웹 표준을 지원하는 것을 포함한 새로운 여러 가지 기능을 보여줍니다. 이 문서에는 향상된 부분 중 주된 부분에 대한 문서의 링크를 제공합니다.

Firefox 3.5에서 개발자를 위한 새로운 부분

웹 사이트와 웹 애플리케이션 개발자를 위한 부분

HTML 5 지원

Firefox에서 오디오와 비디오 사용
Firefox 3.5 에는 HTML 5 의 audiovideo 요소가 추가되었습니다.
Firefox에서의 오프라인 자원
Firefox 3.5 에서는 이제 HTML 5 의 오프라인 자원 부분을 모두 지원합니다.
드래그 앤 드롭
HTML 5 의 드래그 앤 드롭 API는 웹사이트에서의 드래그 앤 드롭을 지원합니다. 또한 확장기능과 모질라 기반 애플리케이션에서 사용되는 간단한 API도 제공합니다.

CSS 변경점

Downloadable 다운로드 할 수 있는 폰트 지원 fonts support
새로운 @font-face @rule 은 웹페이지에서 폰트를 다운로드 할 수 있게 합니다. 그래서 이 CSS가 적용된 사이트는 페이지를 만든 사람 의도대로 보여줄 수 있습니다.
CSS media queries
Firefox 3.5 에서는 CSS media query를 지원합니다. 이것은 미디어 기반의 스타일 시트를 이용할 수 있게 합니다.
:before:after 가 CSS 2.1에 추가되었습니다.
:before:after 모조요소(pseudo-elements)는 CSS 2.1의 position, float, list-style-*, 그리고 특정 display 속성에 추가되었습니다.
opacity
표준 opacity 속성이 생겨서 모질라 확장 CSS인 -moz-opacity가 없어졌습니다.
text-shadow
텍스트나 텍스트 꾸밈요소에 그림자 효과를 적용할 수 있는 text-shadow 속성이 지원됩니다.
word-wrap
새로 지원되는 속성인 word-wrap은 한 줄에 띄어쓰기 되지 않은 긴 문자열이 있을 때, 넘쳐 보이지 않게 하기 위해 이 문자열을 중간에서 끊을 지 정합니다.
-moz-box-shadow
-moz-border-image
-moz-column-rule
-moz-column-rule-width
-moz-column-rule-style
-moz-column-rule-color
Firefox 3.5에서는 CSS에 추가적으로 모질라 확장 CSS를 지원합니다.
-moz-nativehyperlinktext 색상 값
이 새 색상값은 시스템 기본 하이퍼링크(hyperlink) 색상을 돌려줍니다.
새로운 -moz-window-shadow-moz-system-metric(mac-graphite-theme) 속성
These new CSS properties were added to facilitate theming.
-moz-appearance 의 새로운 값
-moz-win-glass -moz-mac-unified-toolbar 값이 -moz-appearance 에 추가되었습니다.
Using CSS transforms
Firefox 3.5 supports CSS transforms.  See -moz-transform and -moz-transform-origin for details.
:nth-child
:nth-last-child
:nth-of-type
:nth-last-of-type
:first-of-type
:last-of-type
:only-of-type
위의 선택자들 모두가 Firefox 3.5 에 새로 추가되었습니다.

DOM 변경점

localStorage
Firefox 3.5 에서는 웹 애플리케이션이 클라이언트 로컬에 데이터를 저장하는 방법을 제공해주는 웹 스토리지 localStorage 속성이 추가되었습니다.
DOM workers 사용
Firefox 3.5 에서는 웹 애플리케이션이 손쉽게 멀티스레드를 지원할 수 있게 해주는 DOM workers가 지원됩니다.
geolocation 사용
Firefox 3.5 에서는 Geolocation API를 지원합니다. 위치 정보 제공자가 설치되어 있고 활성화되어 있다면, 이 API는 웹 애플리케이션이 사용자의 현재 위치 정보를 얻을 수 있게 해줍니다.
Locating DOM elements using selectors
The selectors API allows querying a document to locate the elements that match a given selection rule.
마우스 제스쳐 이벤트
Firefox 3.5 에서는 트랙패드를 강하게 치는 등의 마우스 제스쳐 이벤트를 지원합니다.
NodeIterator 객체
NodeIterator 객체는 DOM 하위 트리의 노드들을 반복(iterating)할 수 있도록 해줍니다.
The MozAfterPaint event
This new DOM event is sent after painting updates in windows.
The MozMousePixelScroll event
This new DOM event allows detection of pixel-based mouse scroll wheel events instead of line-based scroll events.

JavaScript 변경점

Object.getPrototypeOf()
이 새로운 메소드는 특정 객체의 prototype을 반환합니다.
자체 JSON 사용
Firefox 3.5 에는 자체에서 지원하는 JSON 객체가 있습니다.
String 객체에 trim 메소드 추가
이제 String 객체에는 trim(), trimLeft(), trimRight() 메소드가 있습니다.

Networking

Cross-site access controls for HTTP
서버에서 지원한다면 Firefox 3.5에서는 XMLHttpRequest를 이용해 만들어진 것을 포함한 HTTP 요청을 다른 도메인에 하는 것이 가능해졌습니다.
Progress events for XMLHttpRequest
요청에 대한 진행상황을 살펴볼 수 있는 확장을 동작시키면 진행상황 이벤트를 이용할 수 있습니다.
향상된 동기화(Synchronous) XMLHttpRequest 지원
DOM TimeoutInput Events 는 동기화 XMLHttpRequest로 인해 사용하지 않게 되었습니다.
Controlling DNS prefetching
Firefox 3.5 provides DNS prefetching, whereby it performs domain name resolution ahead of time for links included in the current page, in order to save time when links are actually clicked.  This article describes how you can tune your web site to disable prefetching, or to adjust how prefetching operates.

Canvas 변경점

canvas 요소에서의 HTML 5 텍스트 API
Canvas 요소가 HTML 5 텍스트 API를 지원합니다.
canvas에서 그림자 효과
Canvas 그림자 효과가 지원됩니다.
createImageData()
canvas 메소드 createImageData() 가 지원됩니다. 이 메소드는 ImageData 객체를 코드로 지정해 생성할 수 있게 해줍니다. 이렇게 해서 ImageData 객체가 생성되는 것을 막아 다른 ImageData 메소드의 작동 속도를 향상시길 수 있습니다.
moz-opaque attribute
Added the moz-opaque DOM attribute, which lets the canvas know whether or not translucency will be a factor.  If the canvas knows there's no translucency, painting performance can be optimized.

New SVG features

Applying SVG effects to HTML content
You can now apply SVG effects to HTML and XHTML content; this article describes how.

Miscellaneous new features

ICC color correction in Firefox
Firefox 3.5 now supports ICC color correction for tagged images.
The defer attribute is now supported on script elements
This attribute indicates to the browser that it may choose to continue to parse and render the page without waiting for the script to finish executing.

그 외 향상된 점들

  • The ch unit can now be used anywhere that accepts a unit of length; "1ch" is the width of the "0" (zero) character.
  • white-space 속성에 pre-line 값을 넣을 수 있습니다.
  • The Text node's wholeText property and replaceWholeText() method have been implemented.
  • element.children 속성이 추가되었습니다. 이 속성은 주어진 엘리먼트의 자식 엘리먼트 컬렉션(collection)을 반환합니다.
  • The Element Traversal API is now supported by the DOM Element object.
  • cloneNode() 를 이용해 HTML 노드를 복제할 수 있습니다.
  • 비표준 DOM 메소드 getBoxObjectFor() 가 삭제되었습니다. 대신에 getBoundingClientRect() 를 사용하면 됩니다.
  • Dispatched DOM events can now be re-dispatched.  This makes Firefox 3.5 pass Acid 3 test 30.
  • Improvements have been made to DOM 2 Range handling.
  • In non-chrome scope, caught objects in exceptions are now the actual thrown object instead of an XPConnect wrapper containing the thrown object.
  • SVG ID references are now live.
  • SVG filters now work for foreignObject.
  • The GetSVGDocument() method has been added to object and iframe elements for compatibility.
  • Implicit setting of properties in object and array initializers no longer execute setters in JavaScript. See the blog post Object and array initializers should not invoke setters when evaluated for details.
  • The gDownloadLastDir.path variable has been renamed to gDownloadLastDir.file since it refers to an nsIFile, not a path.
  • The gDownloadLastDirPath variable has been renamed to gDownloadLastDirFile since it refers to an nsIFile, not a path.
  • Starting in Firefox 3.5, you can no longer use data: bindings in chrome packages that get XPCNativeWrapper automation.

XUL과 애드온 개발자를 위한 부분

If you're an extension developer, you should start by reading Updating extensions for Firefox 3.5, which offers a helpful overview of what changes may affect your extension.

New components and functionality

Supporting private browsing mode
Firefox 3.5 offers Private Browsing mode, which doesn't record the user's activities.  Extensions may support private browsing following the guidelines offered by this article.
Security changes in Firefox 3.5
This article covers security-related changes in Firefox 3.5.
Theme changes in Firefox 3.5
This article covers theme-related changes in Firefox 3.5.
Monitoring WiFi access points
Code with UniversalXPConnect privileges can now monitor the list of available access points, getting information on their SSIDs, MAC addresses, and signal strength.  This can be used in tandem with Geolocation to offer WiFi-based location service.

Notable changes and improvements

  • The XUL textbox widget now offers a search type, for use as search fields.
  • In order to support dragging and dropping tabs between windows, the browser widget now has a swapDocShells() method.
  • Added the level attribute to the panel element; this specifies whether panels appear on top of other applications, or just on top of the window the panel is contained within.
  • XUL elements now support the clientXXX and scrollXXX properties.
  • keysets now include a disabled attribute.
  • In addition, keysets can now be removed using the node's removeChild() method.
  • mozIStorageStatement had the initialize() method removed; consumers should use the createStatement() method instead to get a new statement object.
  • The Storage API now offers support for asynchronous requests.
  • The nsICookie2 interface now exposes the time at which cookies were created in its new creationTime attribute.
  • Added a flag to nsIProtocolHandler (URI_IS_LOCAL_RESOURCE) that is checked during chrome registration to make sure a protocol is allowed to be registered.
  • Firefox now looks for plugins in /usr/lib/mozilla/plugins on Linux, as well as the previously supported locations.
  • The plugin API has been updated to include support for private browsing mode; you may now use NPN_GetValue() to query the state of private browsing mode using the variable NPNVprivateModeBool.

사용자들을 위한 변경점

User experience

Location aware browsing
If you choose, you may allow Firefox 3.5 to share information about your current location with web sites.  Firefox 3.5 can use information about the network you're connected to to share your location. Of course, it asks for your permission before doing so, to ensure your privacy.
Open audio and video support
Firefox 3.5 supports embedded video and audio using the open Ogg format, as well as WAV for audio. No plugins, no confusing error messages about needing to install something or other that turns out not to be available on your platform anyway.
Local data storage
Web applications can now use Web Storage's local storage capabilities to store data on your computer.  This is great for anything from site preferences to more complex data.

Security and privacy

Private Browsing
Need to use someone else's computer? Switch on Private Browsing mode and nothing will be recorded about your session, including cookies, history, and any other potentially private information.
Better privacy controls
The Privacy preference pane has been completely redesigned to offer users more control over their private information. Users can choose to retain or discard anything including history information, cookies, downloads, and form field information.  In addition, users can specify whether or not to include history and/or bookmarks in the location bar's automated suggestions, so you can keep private web addresses from popping up unexpectedly while typing in the location bar.

동작 속도

더  빠른 JavaScript 동작속도
"AJAX"에서 "J"를 뜻하는 JavaScript가 Firefox 3.5에서 새로운 TraceMonkey JavaScript 엔진을 이용해 더욱 빨라졌습니다. 웹 애플리케이션은 Firefox 3 보다 더욱 빨라졌습니다.
더  빠른 페이지 표시속도
"speculative parsing" 기술로 Firefox 3.5에서 웹 콘텐츠를 더 빨리 표시하게 되었습니다. 사용자들이 기술의 의미하는 바를 알 필요는 없습니다. 단지 "더 빨리 보여준다."고 알면 됩니다.

See also

문서 태그 및 공헌자

Contributors to this page: teoli, Gilchris
최종 변경: teoli,