Firefox 3 for developers

  • 리비전 슬러그: Firefox_3_for_developers
  • 리비전 제목: Firefox 3 for developers
  • 리비전 아이디: 164499
  • 제작일시:
  • 만든이: Channy
  • 현재 리비전인가요? 아니오
  • 댓글 영문 내용 업데이트

리비전 내용

차세대 Firefox에 맞추어 웹 애플리케이션과 확장 기능, 웹 사이트 등에 최신 기술을 적용해 볼 수 있습니다. 다양한 개발자들의 기호에 맞추어 최신의 기술들을 살펴 보시고 적용해 보시기 바랍니다.

Firefox 3의 주요 신 기술

Firefox 3의 출시까지는 오래 남았지만, 관심을 끌만한 바뀐 점들이 이미 다수가 구현돼 있습니다. 아래는 새로운 기능들의 일부를 담고 있는 불완전한 목록입니다. 부담없이 목록에 새로운 내용을 더하거나 목록을 고치세요.

일러두기: 특정 기능이 구현됐고 문서화될 준비가 됐음을 알게 됐을 때, 문서화 작업을 시작할 수 있도록 그 사실을 이 페이지에 언급해준다면 매우 도움이 될 것입니다. 고맙습니다!


웹사이트 및 응용프로그램 개발자에게 도움이 되는 정보

웹사이트에 영향을 미치는 Gecko 1.9의 바뀐 점도 보세요.

HTML 기본

  • <FRAME>과 <IFRAME> 요소의 보안 문제가 해결되었습니다. 앞으로 부모창과 프레임 문서가 같은 도메인에 있지 않으면 서로를 참조할 수 없게 된다는 점을 유의해 주시기 바랍니다. 자세한 사항은 Bug {{template.Bug(35620)}}를 참고하십시오.

Web Applications 1.0

마크 핑클(#devmo의 mfinkle)이 Web Applications 1.0의 문서화 작업을 이끌고 있습니다.

대체 스타일 쉬트 API는 스타일 쉬트 겍체 모델에서 표준화가 진행 중입니다.
Web Applications 1.0(HTML5, XHTML5)은 아직 최종안이 아니고 작업초안입니다.

Offline resources

구현 과정은 진행중입니다. {{template.Bug(367447)}} 및 의존하는 것들을 참고하세요. 작업 중인 명세는 에 있습니다.

크로스 사이트 XMLHttpRequest

  • {{template.Bug(389508)}} 원격 도메인간 XMLHttpRequest 지원 (Ajax 개발 시 다른 도메인 간 호출 허용.)

CSS

에릭 셰퍼드(#devmo의 sheppy)가 Firefox 3의 CSS 문서화를 이끌고 있습니다.

  • {{template.Cssxref("display")}} 속성의 값으로 inline-blockinline-table을 구현했습니다.
  • 이제 {{template.Cssxref("font-size-adjust")}} 속성이 모든 플랫폼에서 작동합니다(예전에는 윈도에서만 지원됐습니다).
  • {{template.Cssxref("font-size-adjust")}}가 이제 모든 플랫폼에서 작동 ({{template.Bug(130473)}})
  • rgba()hsla() 색 값 지원 ({{template.Bug(147017)}})
  • :default 슈도 클래스(pseudo-class) 지원 ({{template.Bug(302186)}})
  • {{template.Cssxref("width")}}, {{template.Cssxref("min-width")}}, {{template.Cssxref("max-width")}}에 -moz-intrinsic, -moz-min-intrinsic, -moz-shrink-wrap, and -moz-fill 값이 추가됐습니다. ({{template.Bug(311415)}})
  • HTML soft hyphens (&shy;) are now supported.
  • Preformatted tabs work much better in proportional fonts, following the CSS 2.1 spec.
  • The {{template.Cssxref("ime-mode")}} property are supported.
  • Add support for CSS "text-rendering" property for HTML ({{template.Bug(387969)}})
  • -moz-border-*-start and -moz-border-*-end CSS properties are implemented ({{template.Bug(74880)}})
  • implemented -moz-initial for almost all remaining CSS properties (except quotes and -moz-border-*-colors) {{template.Bug(80887)}}
  • made window.getComputedStyle support all supported CSS properties ({{template.Bug(316981)}})
  • {{template.Cssxref("content")}}'s none value is now supporetd {{template.Bug(378535)}}

DOM

JavaScript

  • JavaScript 1.8을 구현하고 있습니다({{template.Bug(380236)}}). 존 레식(#devmo의 jeresig)이 문서화 작업을 이끌 것입니다.
    • Everything that has been implemented is already documented on the JavaScript 1.8 page.
    • See this blog post for some additional information.
  • The Script object is no longer supported; it was non-standard and has needed to go away for a long time. See Updating web applications for Firefox 3 for details.

XSLT/XPath

  • Firefox 3 now provides support for a substantial subset of EXSLT extensions to XSLT, including the common, math, regexp, set, and str modules. Most but not all of the functions in these modules are now supported.

SVG

  • foreignObject 요소 지원 ({{template.Bug(326966)}}, 명세, 관련 글). mfinkle
  • pattern 요소 지원 (명세)
  • mask 요소 지원 (명세)
  • SVG 필터 지원 (명세)
    • filter
    • feDistantLight
    • fePointLight
    • feSpotLight
    • feBlend
    • feColorMatrix
    • feConvolveMatrix
    • feComponentTransfer, feFuncR, feFuncG, feFuncB, feFuncA
    • feComposite
    • feConvolveMatrix
    • feDiffuseLighting
    • feDistantLight
    • feFlood
    • feGaussianBlur
    • feMerge, feMergeNode
    • feMorphology
    • feOffset
    • fePointLight
    • feSpecularLighting
    • feTurbulence
    • feTile
  • <a> element handling in SVG has had several bugs fixed; see {{template.Bug(267664)}}, {{template.Bug(268135)}}, {{template.Bug(316248)}}, {{template.Bug(317270)}} and {{template.Bug(320724)}}.
  • The SVG DOM Methods getNumberOfChars(), getComputedTextLength(), getSubStringLength(), getStartPositionOfChar(), getEndPositionOfChar(), getRotationOfChar(), and getCharNumAtPosition() have been implemented.
  • the xml:space attribute support (spec)
  • fallback fill/stroke are now supported (spec)
  • em and ex units are now supported for indicating lengths ({{template.Bug(305859)}}).

Images

  • Animated PNGs are now supported (APNG) (spec)

Cookies

XUL 및 확장 기능 개발자용

XUL

새로운 XUL 요소

마크 핑클(#devmo의 mfinkle)이 새로운 XUL 요소의 문서화를 이끌고 있습니다. Firefox 3에서 XUL은 다수의 새로운 요소를 지원합니다:

마크 핑클(#devmo의 mfinkle)이 새로운 XUL 요소의 문서화를 이끌고 있습니다. Firefox 3에서 XUL은 다수의 새로운 요소를 지원합니다:

  • 새로운 <scale> 요소는 사용자가 특정 범위 안에서 어떤 값을 고를 수 있게 하는 미끄러져 움직이는 눈금자를 만듭니다. 예를 들어 일반적으로 이 위젯은 소리 크기 컨트롤을 만드는 데 쓰입니다.
  • 글상자(textbox)의 type 속성을 새로운 값 'number'로 지정하면 숫자만 넣어야 하는 글상자를 만듭니다. 게다가 값을 키우거나 줄이는 데 쓰는 화살표 버튼이 한쪽에 보이게 됩니다. {{mediawiki.interwiki('wikimo', 'XUL:Specs:NumberBox', '자세한 내용')}} ({{template.Bug(345510)}})
  • 메뉴 같은 위젯을 XBL 바인딩으로 만들 때 쓸만한 <dropmarker> 요소가 추가됐습니다. ({{template.Bug(348614)}})
  • 위젯을 XBL 바인딩으로 만들 때 쓰일 수 있는 <spinbuttons> 요소가 추가됐습니다. ({{template.Bug(155053)}})
  • <datepicker><timepicker> 두 위젯이 날짜 및 시각을 넣게 하는 데 쓰일 수 있습니다. datepicker는 type 속성으로 여러 모양으로 표현할 수 있어서, 글상자 및 달력 모양에서 입력하게 할 수 있습니다. {{mediawiki.interwiki('wikimo', 'XUL:Specs:DateTimePickers', '자세한 내용')}} Datepicker 참고 Timepicker 참고 ({{template.Bug(92174)}})
  • <panel> 요소가 메뉴가 없는 팝업을 위해 만들어졌습니다. 다양한 형식의 컨텐츠를 지원합니다. <menupopup> 요소는 메뉴에서만 사용해야 하고 메뉴는 키보드 네비게이션 및 서브 메뉴 열고 닫기를 지원 합니다.
트리 구조 개선점
  • 트리구조(tree)가 이제 횡스크롤을 지원합니다. 횡스크롤바는 열(column)들이 이용 가능한 너비에 맞지 않을 때 보이게 됩니다. 열들의 지정된 너비를 합한 게 이용 가능한 빈 공간의 너비보다 길 때 일어납니다. ({{template.Bug(212789)}})
  • 새로운 선택 스타일이 행 전체 대신에 셀 하나하나를 선택할 수 있게 합니다. 트리 구조의 seltype 속성을 'cell'로 설정해서 써야 합니다. ({{template.Bug(296040)}})
  • 트리 구조가 이제 셀 하나하나를 편집하는 것을 지원합니다. 편집 가능한 셀을 더블클릭하면 셀의 내용을 편집할 수 있는 글상자를 보여줄 것입니다. {{mediawiki.interwiki('wikimo', 'XUL:Tree', '자세한 내용')}} ({{template.Bug(201499)}})
  • <treecol> 요소가 이제 overflow 속성을 지원합니다. 이 속성의 값이 'true'이면 텍스트가 너무 길어 셀 안에 들어가지 않을 때 이웃의 빈 셀로 확장되도록 허용합니다.
메뉴 개선점

<menu><menulist> 요소를 일부분 개선했습니다({{template.Bug(333023)}}):

  • 그림을 지정하는 데 image 속성이 일관되게 쓰입니다.
  • 항목을 선택할 때 menulist가 선택 이벤트를 발생합니다.
  • menulistinputFieldeditable 프로퍼티가 추가됐습니다.
  • <menu>, <menuitem>, <menuseparator>에 읽기전용인 selected 프로퍼티가 추가됐습니다. 이 프로퍼티는 <menulist>의 항목의 선택 여부를 담게 됩니다.
  • <menu>, <menuitem>, <menuseparator> 요소에 읽기전용인 control 프로퍼티가 추가됐습니다. 이 속성은 에워싼 <menulist>를 넘겨줍니다.
  • <menu>, <menuitem>, <menuseparator> 요소는 이제 상응하는 속성을 설정하는 accessKey, disabled, crop, image, label 프로퍼티를 지원합니다.
  • 이제 <menu> 요소에 메뉴항목을 덧붙이고, 끼워넣고, 없애는 메소드가 있습니다. ({{template.Bug(372552)}})
  • 편집 가능한 menulist의 글상자에 쓰이는 내부 nsIEditor를 넘겨주는 editor 프로퍼티를 지원합니다. ({{template.Bug(312867)}})
  • 이제 플랫폼이 지원하면 메뉴를 반투명하게 만들 수 있습니다. ({{template.Bug(70798)}})


글상자(Textbox) 개선점
  • textboxspellcheck 속성을 'true'로 설정하면 입력할 때마다 바로바로 맞춤법을 검사합니다(inline spellchecking). ({{template.Bug(346787)}})
  • 이제 <textbox>에 글상자의 값을 기본값으로 되돌리는 reset() 메소드가 있습니다. 글상자의 기본값을 가져오고 바꾸는 데 defaultValue 프로퍼티가 쓰이게 됩니다. ({{template.Bug(312867)}})
  • 텍스트 필드의 내부 nsIEditor를 넘겨주는 editor 프로퍼티를 지원합니다. ({{template.Bug(312867)}})
  • 글상자가 이제 붙여넣은 텍스트의 줄바꿈 기호를 처리하는 방법을 지정하는 newlines 속성을 지원합니다. ({{template.Bug(253481)}}) 쓸 수 있는 값은 다음과 같습니다.
    • pasteintact - 모두 그대로 붙여넣음
    • pastetofirst - (기본값) 첫 줄바꿈 기호까지만 붙여넣음
    • replacewithspaces - 줄바꿈 기호를 빈 칸으로 바꿈
    • replacewithcommas - 줄바꿈 기호를 반점(,)으로 바꿈
    • strip - 모든 줄바꿈 기호를 없앰
    • stripsurroundingwhitespace - 모든 줄바꿈 기호와 에워싼 공백문자를 없앰
그 밖의 요소 개선점
  • 마우스 버튼을 누르고 있는 동안 명령(command) 이벤트를 되풀이하여 발생하는 버튼을 만들려면 <button>type 속성을 'repeat'로 설정해야 합니다. ({{template.Bug(331055)}})
  • 이제 buttondisabledaccept 속성을 <dialog> 요소에 써서 확인 버튼을 초기에 비활성화할 수 있습니다. ({{template.Bug(247849)}})
  • <titlebar> 요소가 이제 allowevents 속성을 지원합니다. 이 속성은 titlebar의 자식에게 이벤트를 넘겨줄 수 있게 합니다. ({{template.Bug(361425)}})
  • <splitter>가 이제 collapse 속성의 부가적인 값으로 'both'를 지원합니다. 이 값은 스플릿터를 마우스로 끌 때 양쪽의 요소를 접을 수 있음을 가리킵니다. substate 속성은 어느 쪽이 접혔는지(앞(before) 또는 뒤(after))를 나타냅니다. ({{template.Bug(337955)}})
  • <richlistbox> 요소가 이제 다중 선택을 지원합니다. 이 기능을 켜려면 seltype 속성을 'multiple'로 설정하세요.
  • The <radio> element has a group attribute which may be set to the id of a <radiogroup> element which the radio button belongs to. This allows the radio buttons to arranged in a manner that may not be as suitable when placing them all inside a radiogroup.
  • Menus, panels and tooltips support two additional methods, openPopup and openPopupAtScreen. These methods should be used instead of showPopup which was found to be confusing to use.
템플릿 바뀐 점

템플릿 문서화는 마크 핑클(#devmo의 mfinkle)이 이끌고 있습니다.

템플릿은 Firefox 3에서 두드러지게 향상됐습니다. 주 개선점은 맞춤 쿼리 처리기를 쓸 수 있게 해서 RDF 외에 다른 형식의 데이터 소스를 다룰 수 있게 했다는 것입니다. 새로운 쿼리 문법이 이것을 가능하게 합니다. 템플릿에 쓸 수 있는 새로운 기능의 자세한 내용은 {{mediawiki.interwiki('wikimo', 'XUL:Template_Features_in_1.9', '여기')}}에 있습니다. ({{template.Bug(285631)}})

그 밖의 템플릿 개선점:

  • 규칙에 결과를 맞추는 것을 더 정밀하게 제어하게 하는 관계 조건문이 추가됐습니다. 예를 들어 관계 조건문은 어떤 문자열로 시작하거나 끝나는 결과를 구하거나, 문자열이 다른 값의 앞이나 뒤에 있는 결과를 구하는 것을 가능하게 합니다.
  • 결과의 한 단계만 만들어지는 것과 같은 일로 재귀가 발생하지 않게 예방하는 'dont-recurse' 플래그가 추가됐습니다.
  • 출력 항목을 나타내는 결과 목적어를 구하는 API들이 템플릿 빌더에 추가됐습니다.
  • XUL 정렬 서비스가 더 튼튼하고, 컨텐트 및 비컨텐트 나무구조 둘 다 더 잘 정렬합니다. 템플릿으로 만들지 않은 컨텐트를 정렬하는 것 역시 가능하게 합니다. ({{template.Bug(335122)}})
그 밖의 변경 사항
  • JavaScript 1.8이 XUL 스크립트 및 자바 스크립트 기본 버전으로 채택 됩니다. 지시자명으로 let 같은 키워드를 사용하면 문제가 될 수 있습니다.

XBL

여러 XML 파일에서 데이터를 읽어오는 대신 data:가 URL을 XBL로 바로 바인딩합니다. 이에 대한 자세한 사항은을 참고하십시오 ({{template.Bug(366770)}}).

부가 기능 관리자

부가 기능 메타 데이터 번역

Firefox 3는 부가 기능 메타 데이터 번역에 대한 새로운 메소드를 제공 합니다. This allows the localized details to be available as soon as the add-on has been downloaded and when the add-on is disabled as well as potentially improving matters for addons.mozilla.org.

See Localizing extension descriptions for the full details.

Toolkit target application for add-ons

Firefox 3 (and any Gecko 1.9 based application) allows you to specify a targetApplication entry with id toolkit@mozilla.org anywhere where you would specify the application's actual id (install.rdf, update.rdf). This allows you to say that the add-on is compatible with any toolkit app. The related minVersion and maxVersion are compared to the application's toolkit version (e.g. 1.9 for Firefox 3).

Security restrictions for add-ons

Add-ons are now required to provide a secure method of updating in order to be installed. Add-ons hosted at addons.mozilla.org automatically provide this. Read Securing Updates for more information.

Other platform functionality

Events
  • Some events that were not previously are now reflected as attributes, such as 'onscroll'. Attributes are now available for the scroll, resize, DOMMouseScroll, DOMFocusIn, DOMFocusOut events as well as for the various mutation events.
  • Two new drag related events are available. The drag event is fired on the source element during the drag. The dragend event is fired on the source node when a drag is complete.
DOM changes

Added privileged-code-only getters for Node.nodePrincipal, Node.baseURIObject, and document.documentURIObject.

Chrome code must not touch (get or set) these properties on an unwrapped content object (e.g. on a wrappedJSObject of an XPCNativeWrapper), see {{template.Bug(324464)}} for details.

Full page zoom

The {{template.Interface("nsIMarkupDocumentViewer")}} interface now includes support for full page zoom as well as text zoom. ({{template.Bug(4821)}})

Idle Service

A new service has been added to determine how long the user has been idle (that is, since the last time they pressed a key or moved their mouse). This service implements the nsIIdleService interface.

XPCOM
XPCOM cycle collector
Base64 conversion in JavaScript components

Two new global functions have been added for use by JavaScript XPCOM components: atob() and btoa(). These function identically to the DOM functions by the same names (see atob() and btoa() for details). ({{template.Bug(326854)}})

XPCSafeJSObjectWrapper

XPConnect now exposes the XPCSafeJSObjectWrapper JavaScript class, which is used to wrap XPCNativeWrapper.wrappedJSObject to provide improved security ({{template.Bug(355766)}}. In addition, the sandbox now provides several new methods to support this.

Should update the XPCNativeWrapper page, link the "several new methods" from here.

Thread manager
JavaScript modules (Components.import)

Components.utils.import can now be used for sharing code among different scopes.

Some modules are shipped with Firefox and other applications:

Removed interfaces

Certain interfaces have been removed from Gecko in version 1.9:

  • nsIDOMPaintListener
  • nsIDOMScrollListener
  • nsIDOMMutationListener
  • nsIDOMPageTransitionListener

Code that makes use of any of these interfaces will need to be updated.

신규 Firefox API

플레이스

  • 방문기록 및 북마크 API 추가
  • 관련 정보 추가
  • 방문기록, 북마크, 관련 정보 등을 DB형으로 쿼리 가능
  • 방문기록, 북마크 이벤트
  • 동기화
  • Places 위젯

자세한 사항은을 참고하세요.

다운로드 관리자
  • The Download Manager API has been enhanced with new features, including support for multiple progress listeners. In addition, the Download Manager now uses mozStorage instead of RDF for its data management back-end. See nsIDownloadManager, nsIDownload, and nsIDownloadProgressListener for detailed API references, and see Monitoring downloads for an example.
    • 백엔드가 RDF에서 mozStorage로 바뀌었습니다(결과적으로 nsIDownloadManager 및 nsIDownload의 API가 바뀌었습니다). ({{template.Bug(380250)}})
    • 다운로드 관리자가 이제 다수의 경과 청취자를 지원합니다. ({{template.Bug(289540)}})
    • retryDownload method added to Download Manager ({{template.Bug(382825)}})
    • getDownload method now returns downloads from the past as well as active ones. ({{template.Bug(382839)}})
    • 부가적인 정보를 얻으려면 이 페이지를 참고하세요.
  • You may now augment or replace the Download Manager user interface by implementing the {{template.Interface("nsIDownloadManagerUI")}} interface.
Login manager

The Password Manager has been replaced by the new Login Manager. For details, see the following articles:

Site-specific preferences

Firefox 3 includes a service for getting and setting arbitrary site-specific (a.k.a. per-site) preferences that extensions as well as core code can use to keep track of their users' preferences for individual sites.

기타 버그 수정 내용

  • 오버레이를 구문 분석할 때 오류가 발생하면 오버레이는 적용되지 않습니다. 구문해석 오류는 오류 콘솔에 기록됩니다. ({{template.Bug(355755)}})
  • <menupopup>이 메뉴 및 메뉴같은 요소에 붙여질 때 바인딩 안에 있을 수 있게 고쳤습니다. ({{template.Bug(345896)}})
  • 버튼의 dlgType 프로퍼티가 이제 제대로 작동합니다. ({{template.Bug(308591)}})
  • event.initEventcanBubble 인수가 이제 제대로 작동해서 넘치지 않는 이벤트를 발생할 수 있습니다. ({{template.Bug(330190)}})
  • DOMAttrModified 이벤트가 이제 네임스페이스가 지정된 속성을 제대로 다룹니다. ({{template.Bug(247095)}})
  • <?xml-stylesheet ?>와 같은 XML 처리 명령(processing instructions)이 이제 XUL 문서의 DOM에 추가됐습니다. 이것은 document.firstChild가 루트 요소라는 것을 보장하지 않는 것을 의미합니다. 그 대신에 document.documentElement를 쓰세요. 또한 문서 서두에 있지 않은 <?xml-stylesheet ?><?xul-overlay ?> 처리 명령은 이제 효과가 없습니다. ({{template.Bug(319654)}})
  • getElementsByAttributeNS 함수가 XUL 요소 및 문서에 추가됐습니다. ({{template.Bug(239976)}})
  • XUL 문서에서 요소를 옮기거나 없앨 때 이벤트 경청자(listeners)를 보존합니다. ({{template.Bug(286619)}})
  • 보이지 않는 문서의 변화 이벤트(mutation events)도 발생합니다. ({{template.Bug(201238)}})
  • 요소가 잘못된 순서로 그려지는 것과 관련된 여러 문제를 고쳤습니다. ({{template.Bug(317375)}})
  • getElementsByTagName() has been fixed to work correctly on subtrees that have elements with namespace prefixes in their tag names ({{template.Bug(206053)}}).
  • The DOMNodeInserted and DOMNodeRemoved events now properly apply to the correct nodes ({{template.Bug(367164)}}).

참고 사항

{{ wiki.languages( { "en": "en/XBL/XBL_1.0_Reference/Elements", "en": "en/Places", "en": "en/Firefox_3_for_developers", "es": "es/Firefox_3_para_desarrolladores", "fr": "fr/Firefox_3_pour_les_d\u00e9veloppeurs", "ja": "ja/Firefox_3_for_developers", "pl": "pl/Firefox_3_dla_programist\u00f3w" } ) }}

리비전 소스

<p>차세대 Firefox에 맞추어 웹 애플리케이션과 확장 기능, 웹 사이트 등에 최신 기술을 적용해 볼 수 있습니다.  다양한 개발자들의 기호에 맞추어 최신의 기술들을 살펴 보시고 적용해 보시기 바랍니다.
</p>
<ul><li> <a href="ko/Updating_extensions_for_Firefox_3">Firefox 3를 위한 확장 기능 업데이트</a>
</li><li> <a href="ko/Updating_web_applications_for_Firefox_3">Firefox 3를 위한 웹 사이트 업데이트</a>
</li></ul>
<h2 name="Firefox_3.EC.9D.98_.EC.A3.BC.EC.9A.94_.EC.8B.A0_.EA.B8.B0.EC.88.A0">Firefox 3의 주요 신 기술</h2>
<p>Firefox 3의 출시까지는 오래 남았지만, 관심을 끌만한 바뀐 점들이 이미 다수가 구현돼 있습니다. 아래는 새로운 기능들의 일부를 담고 있는 불완전한 목록입니다. 부담없이 목록에 새로운 내용을 더하거나 목록을 고치세요.
</p>
<div class="note"><b>일러두기:</b> 특정 기능이 구현됐고 문서화될 준비가 됐음을 알게 됐을 때, 문서화 작업을 시작할 수 있도록 그 사실을 이 페이지에 언급해준다면 매우 도움이 될 것입니다. 고맙습니다!</div>
<p><br>
</p>
<h3 name=".EC.9B.B9.EC.82.AC.EC.9D.B4.ED.8A.B8_.EB.B0.8F_.EC.9D.91.EC.9A.A9.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EA.B0.9C.EB.B0.9C.EC.9E.90.EC.97.90.EA.B2.8C_.EB.8F.84.EC.9B.80.EC.9D.B4_.EB.90.98.EB.8A.94_.EC.A0.95.EB.B3.B4">웹사이트 및 응용프로그램 개발자에게 도움이 되는 정보</h3>
<p><a href="ko/Gecko_1.9_Changes_affecting_websites">웹사이트에 영향을 미치는 Gecko 1.9의 바뀐 점</a>도 보세요.
</p>
<h4 name="HTML_.EA.B8.B0.EB.B3.B8">HTML 기본</h4>
<ul><li>  &lt;FRAME&gt;과 &lt;IFRAME&gt; 요소의 보안 문제가 해결되었습니다. 앞으로 부모창과 프레임 문서가 같은 도메인에 있지 않으면 서로를 참조할 수 없게 된다는 점을 유의해 주시기 바랍니다. 자세한 사항은 Bug {{template.Bug(35620)}}를 참고하십시오.
</li></ul>
<h4 name="Web_Applications_1.0">Web Applications 1.0</h4>
<p><i>마크 핑클(#devmo의 mfinkle)이 Web Applications 1.0의 문서화 작업을 이끌고 있습니다.</i>
</p>
<ul><li><code>&lt;a ping&gt;</code> 실험적 지원 ({{template.Bug(319368)}}, <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/#ping">현재 명세</a>)
</li><li><code><a href="ko/DOM/window.navigator.registerProtocolHandler">navigator.registerProtocolHandler()</a></code> 메소드를 이용하여 웹 애플리케이션 프로토콜 핸들러를 등록할 수 있습니다.
</li><li>이제 WHATWG <a href="ko/Online_and_offline_events">온라인/오프라인 이벤트</a>를 지원해서, 인터넷에 연결돼 있는 지를 응용프로그램과 확장 기능이 알아서 동작하도록 할 수 있습니다..
<ul><li><a href="ko/DOM/window.navigator.onLine">navigator.onLine</a>
</li></ul>
</li><li>대체 스타일 쉬트 API ({{template.Bug(200930)}})
<ul><li><a href="ko/DOM/document.preferredStyleSheetSet">preferredStyleSheetSet</a>
</li><li><a href="ko/DOM/document.selectedStyleSheetSet">selectedStyleSheetSet</a>
</li><li><a href="ko/DOM/document.styleSheetSets">styleSheetSets</a>
</li><li><a href="ko/DOM/document.lastStyleSheetSet">lastStyleSheetSet</a>
</li><li><a href="ko/DOM/document.enableStyleSheetsForSet">enableStyleSheetsForSet</a>
</li></ul>
</li></ul>
<div class="note">대체 스타일 쉬트 API는 <a class="external" href="http://dev.w3.org/csswg/cssom/Overview.html#documentstyle">스타일 쉬트 겍체 모델</a>에서 표준화가 진행 중입니다.</div>
<ul><li><code><a href="ko/DOM/document.getElementsByClassName">getElementsByClassName()</a></code>  DOM 메소드를 이제 지원합니다.
</li><li><code>&lt;canvas&gt;</code>요소 기능 확장
<ul><li> <code>transform()</code>와<code>setTransform()</code>메소드 지원 ({{template.Bug(357450)}}, <a class="external" href="http://whatwg.org/specs/web-apps/current-work/#transform">현재 표준 명세</a>)
</li><li> 아직 비표준인 텍스트 그리기 API 참조 <a href="ko/Drawing_text_using_a_canvas">캔버스를 이용한 텍스트 그리기</a>
</li></ul>
</li><li><code><a href="ko/DOM/element.contentEditable">contentEditable</a></code> 메소드 지원 (<a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/#contenteditable1">현재 표준 명세</a>)
</li><li>드래그 앤 드롭 이벤트 지원 {{template.Bug(375681)}}
</li><li>포커스 관리 API 지원 {{template.Bug(337631)}} <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/#focus-management">표준안</a>
<ul><li><a href="ko/DOM/document.activeElement">activeElement</a> 지원
</li><li><a href="ko/DOM/document.hasFocus">hasFocus</a> 지원
</li></ul>
</li></ul>
<div class="note"><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/">Web Applications 1.0</a>(HTML5, XHTML5)은 아직 최종안이 아니고 작업초안입니다.</div>
<h4 name="Offline_resources"> Offline resources </h4>
<p>구현 과정은 진행중입니다. {{template.Bug(367447)}} 및 의존하는 것들을 참고하세요. 작업 중인 명세는 <a class="external" href="http://www.campd.org/stuff/Offline%20Cache.html">에 있습니다.
</a></p><a class="external" href="http://www.campd.org/stuff/Offline%20Cache.html">
</a><ul><a class="external" href="http://www.campd.org/stuff/Offline%20Cache.html"></a><li><a class="external" href="http://www.campd.org/stuff/Offline%20Cache.html"><code></code></a><code><a href="ko/DOM/window.navigator.offlineResources">offlineResources</a></code> 지원  ({{template.Bug(372970)}})
</li><li><code><a href="ko/DOM/window.navigator.isLocallyAvailable">isLocallyAvailable</a></code> 지원  ({{template.Bug(373231)}}
</li><li><code><a href="ko/DOM/window.navigator.pendingOfflineLoads">pendingOfflineLoads</a></code>  지원 ({{template.Bug(372969)}}
</li><li>{{template.Bug(371432)}} 오프라인 시<code>&lt;input type="file"&gt;</code> 데이터 저장 및 온라인 시 업로드 하는 API 필요.
<ul><li><code><a href="ko/HTML/input.fileList">fileList</a></code>  지원 
</li><li><a href="ko/NsIDOMFile">nsIDOMFile</a>  지원 
</li><li><code>XMLHttpRequest.sendAsBinary</code>  지원 
</li></ul>
</li></ul>
<h4 name=".ED.81.AC.EB.A1.9C.EC.8A.A4_.EC.82.AC.EC.9D.B4.ED.8A.B8_XMLHttpRequest"> 크로스 사이트 XMLHttpRequest </h4>
<ul><li>{{template.Bug(389508)}} 원격 도메인간 XMLHttpRequest 지원 (Ajax 개발 시 다른 도메인 간 호출 허용.)
</li></ul>
<h4 name="CSS"><a href="ko/CSS">CSS</a></h4>
<p><i>에릭 셰퍼드(#devmo의 sheppy)가 Firefox 3의 CSS 문서화를 이끌고 있습니다.</i>
</p>
<ul><li>{{template.Cssxref("display")}} 속성의 값으로 <code>inline-block</code>과 <code>inline-table</code>을 구현했습니다.
</li><li>이제 {{template.Cssxref("font-size-adjust")}} 속성이 모든 플랫폼에서 작동합니다(예전에는 윈도에서만 지원됐습니다).
</li><li>{{template.Cssxref("font-size-adjust")}}가 이제 모든 플랫폼에서 작동 ({{template.Bug(130473)}})
</li><li><code>rgba()</code>와 <code>hsla()</code> 색 값 지원 ({{template.Bug(147017)}})
</li><li><code>:default</code> 슈도 클래스(pseudo-class) 지원 ({{template.Bug(302186)}})
</li><li>{{template.Cssxref("width")}}, {{template.Cssxref("min-width")}}, {{template.Cssxref("max-width")}}에 <code>-moz-intrinsic</code>, <code>-moz-min-intrinsic</code>, <code>-moz-shrink-wrap</code>, and <code>-moz-fill</code> 값이 추가됐습니다. ({{template.Bug(311415)}})
</li><li>HTML soft hyphens (<code>&amp;shy;</code>) are now supported.
</li><li>Preformatted tabs work much better in proportional fonts, following the CSS 2.1 spec.
</li><li>The {{template.Cssxref("ime-mode")}} property are supported.
</li><li> Add support for CSS "text-rendering" property for HTML ({{template.Bug(387969)}})
</li><li> -moz-border-*-start and -moz-border-*-end CSS properties are implemented ({{template.Bug(74880)}})
</li><li> implemented <code>-moz-initial</code> for almost all remaining CSS properties (except <code>quotes</code> and <code>-moz-border-<i>*</i>-colors</code>) {{template.Bug(80887)}}
</li><li> made window.getComputedStyle support all supported CSS properties ({{template.Bug(316981)}})
</li><li> {{template.Cssxref("content")}}'s <code>none</code> value is now supporetd {{template.Bug(378535)}}
</li></ul>
<h4 name="DOM">DOM</h4>
<ul><li>이제 IE의 DOM 확장인 <code><a href="ko/DOM/element.clientTop">clientTop</a></code> 및 <code><a href="ko/DOM/element.clientLeft">clientLeft</a></code>가 지원됩니다.
</li><li> <code><a href="ko/DOM/window.fullScreen">window.fullScreen</a></code> 프로퍼티가 컨텐츠 어디에서 읽더라도 정확하게 참조할 수 있습니다. 과거에는 <code>false</code>를 보내기도 했습니다.  ({{template.Bug(127013)}}).
</li><li> The <code><a href="ko/DOM/element.getClientRects">getClientRects</a></code> and <code><a href="ko/DOM/element.getBoundingClientRect">getBoundingClientRect</a></code> DOM extensions are now supported (see {{template.Bug(174397)}}).
</li><li> The Internet Explorer <code><a href="ko/DOM/document.elementFromPoint">elementFromPoint</a></code> DOM extension is now supported ({{template.Bug(199692)}}).
</li><li> The Internet Explorer <code><a href="ko/DOM/element.oncut">oncut</a></code>, <code><a href="ko/DOM/element.oncopy">oncopy</a></code> <code><a href="ko/DOM/element.onpaste">onpaste</a></code>, <code><a href="ko/DOM/element.onbeforecut">onbeforecut</a></code>, <code><a href="ko/DOM/element.onbeforepaste">onbeforecopy</a></code> and <code><a href="ko/DOM/element.onbeforepaste">onbeforepaste</a></code> DOM extensions are now supported ({{template.Bug(280959)}}).
</li></ul>
<h4 name="JavaScript">JavaScript</h4>
<ul><li><a href="ko/New_in_JavaScript_1.8">JavaScript 1.8</a>을 구현하고 있습니다({{template.Bug(380236)}}). <i>존 레식(#devmo의 jeresig)이 문서화 작업을 이끌 것입니다.</i>
<ul><li> Everything that has been implemented is already documented on the <a href="ko/New_in_JavaScript_1.8">JavaScript 1.8</a> page.
</li><li> See this <a class="external" href="http://ejohn.org/blog/javascript-18-progress/">blog post</a> for some additional information.
</li></ul>
</li><li> The <code>Script</code> object is no longer supported; it was non-standard and has needed to go away for a long time.  See <a href="ko/Updating_web_applications_for_Firefox_3">Updating web applications for Firefox 3</a> for details.
</li></ul>
<h4 name="XSLT.2FXPath">XSLT/XPath</h4>
<ul><li>Firefox 3 now provides support for a substantial subset of <a href="ko/EXSLT">EXSLT</a> extensions to <a href="ko/XSLT">XSLT</a>, including the <code><a href="ko/EXSLT#common">common</a></code>, <code><a href="ko/EXSLT#math">math</a></code>, <code><a href="ko/EXSLT#regexp">regexp</a></code>, <code><a href="ko/EXSLT#set">set</a></code>, and <code><a href="ko/EXSLT#str">str</a></code> modules.  Most but not all of the functions in these modules are now supported.
</li></ul>
<h4 name="SVG"><a href="ko/SVG">SVG</a></h4>
<ul><li><code>foreignObject</code> 요소 지원 ({{template.Bug(326966)}}, <a class="external" href="http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement">명세</a>, <a class="external" href="http://weblogs.mozillazine.org/roc/archives/2006/06/the_future_is_now.html">관련 글</a>). <i>mfinkle</i>
</li><li><code>pattern</code> 요소 지원 (<a class="external" href="http://www.w3.org/TR/SVG11/pservers.html#PatternElement">명세</a>)
</li><li><code>mask</code> 요소 지원 (<a class="external" href="http://www.w3.org/TR/SVG11/masking.html#MaskElement">명세</a>)
</li><li>SVG 필터 지원 (<a class="external" href="http://www.w3.org/TR/SVG11/filters.html">명세</a>)
<ul><li><code>filter</code>
</li><li><code>feDistantLight</code>
</li><li><code>fePointLight</code>
</li><li><code>feSpotLight</code>
</li><li><code>feBlend</code>
</li><li><code>feColorMatrix</code>
</li><li><code>feConvolveMatrix</code>
</li><li><code>feComponentTransfer</code>, <code>feFuncR</code>, <code>feFuncG</code>, <code>feFuncB</code>, <code>feFuncA</code>
</li><li><code>feComposite</code>
</li><li><code>feConvolveMatrix</code>
</li><li><code>feDiffuseLighting</code>
</li><li><code>feDistantLight</code>
</li><li><code>feFlood</code>
</li><li><code>feGaussianBlur</code>
</li><li><code>feMerge</code>, <code>feMergeNode</code>
</li><li><code>feMorphology</code>
</li><li><code>feOffset</code>
</li><li><code>fePointLight</code>
</li><li><code>feSpecularLighting</code>
</li><li><code>feTurbulence</code>
</li><li><code>feTile</code>
</li></ul>
</li><li><code>&lt;a&gt;</code> element handling in SVG has had several bugs fixed; see {{template.Bug(267664)}}, {{template.Bug(268135)}}, {{template.Bug(316248)}}, {{template.Bug(317270)}} and {{template.Bug(320724)}}.
</li><li>The SVG DOM Methods <code>getNumberOfChars()</code>, <code>getComputedTextLength()</code>, <code>getSubStringLength()</code>, <code>getStartPositionOfChar()</code>, <code>getEndPositionOfChar()</code>, <code>getRotationOfChar()</code>, and <code>getCharNumAtPosition()</code> have been implemented.
</li><li>the <code>xml:space</code> attribute support (<a class="external" href="http://www.w3.org/TR/SVG/text.html#WhiteSpace">spec</a>)
</li><li>fallback <code>fill</code>/<code>stroke</code> are now supported (<a class="external" href="http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint">spec</a>)
</li><li> <code>em</code> and <code>ex</code> units are now supported for indicating lengths ({{template.Bug(305859)}}).
</li></ul>
<h4 name="Images">Images</h4>
<ul><li>Animated PNGs are now supported (APNG) (<a class="external" href="http://wiki.mozilla.org/APNG_Specification">spec</a>)
</li></ul>
<h4 name="Cookies">Cookies</h4>
<ul><li>The <code>HttpOnly</code> extension attribute is now supported ({{template.Bug(178993)}}); this was also added to Firefox 2.0.0.5.  This attribute can be used to <a class="external" href="http://msdn2.microsoft.com/en-us/library/ms972826.aspx">prevent certain types of cross-site scripting attacks</a>.
</li></ul>
<h3 name="XUL_.EB.B0.8F_.ED.99.95.EC.9E.A5_.EA.B8.B0.EB.8A.A5_.EA.B0.9C.EB.B0.9C.EC.9E.90.EC.9A.A9">XUL 및 확장 기능 개발자용</h3>
<h4 name="XUL">XUL</h4>
<h5 name=".EC.83.88.EB.A1.9C.EC.9A.B4_XUL_.EC.9A.94.EC.86.8C">새로운 XUL 요소</h5>
<p><i>마크 핑클(#devmo의 mfinkle)이 새로운 XUL 요소의 문서화를 이끌고 있습니다.</i>
Firefox 3에서 XUL은 다수의 새로운 요소를 지원합니다:
</p><p><i>마크 핑클(#devmo의 mfinkle)이 새로운 XUL 요소의 문서화를 이끌고 있습니다.</i>
Firefox 3에서 XUL은 다수의 새로운 요소를 지원합니다:
</p>
<ul><li>새로운 <code><a href="ko/XUL/scale">&lt;scale&gt;</a></code> 요소는 사용자가 특정 범위 안에서 어떤 값을 고를 수 있게 하는 미끄러져 움직이는 눈금자를 만듭니다. 예를 들어 일반적으로 이 위젯은 소리 크기 컨트롤을 만드는 데 쓰입니다.
</li><li>글상자(textbox)의 <code>type</code> 속성을 새로운 값 <code>'number'</code>로 지정하면 숫자만 넣어야 하는 글상자를 만듭니다. 게다가 값을 키우거나 줄이는 데 쓰는 화살표 버튼이 한쪽에 보이게 됩니다. {{mediawiki.interwiki('wikimo', 'XUL:Specs:NumberBox', '자세한 내용')}} ({{template.Bug(345510)}})
</li><li>메뉴 같은 위젯을 XBL 바인딩으로 만들 때 쓸만한 <code>&lt;dropmarker&gt;</code> 요소가 추가됐습니다. ({{template.Bug(348614)}})
</li><li>위젯을 XBL 바인딩으로 만들 때 쓰일 수 있는 <code>&lt;spinbuttons&gt;</code> 요소가 추가됐습니다. ({{template.Bug(155053)}})
</li><li><code>&lt;datepicker&gt;</code>와 <code>&lt;timepicker&gt;</code> 두 위젯이 날짜 및 시각을 넣게 하는 데 쓰일 수 있습니다. datepicker는 <code>type</code> 속성으로 여러 모양으로 표현할 수 있어서, 글상자 및 달력 모양에서 입력하게 할 수 있습니다. {{mediawiki.interwiki('wikimo', 'XUL:Specs:DateTimePickers', '자세한 내용')}} <a href="ko/XUL/datepicker">Datepicker 참고</a> <a href="ko/XUL/timepicker">Timepicker 참고</a> ({{template.Bug(92174)}})
</li><li><code><a href="ko/XUL/panel">&lt;panel&gt;</a></code> 요소가 메뉴가 없는 팝업을 위해 만들어졌습니다. 다양한 형식의 컨텐츠를 지원합니다. &lt;menupopup&gt; 요소는 메뉴에서만 사용해야 하고 메뉴는 키보드 네비게이션 및 서브 메뉴 열고 닫기를 지원 합니다.
</li></ul>
<h5 name=".ED.8A.B8.EB.A6.AC_.EA.B5.AC.EC.A1.B0_.EA.B0.9C.EC.84.A0.EC.A0.90">트리 구조 개선점</h5>
<ul><li>트리구조(tree)가 이제 횡스크롤을 지원합니다. 횡스크롤바는 열(column)들이 이용 가능한 너비에 맞지 않을 때 보이게 됩니다. 열들의 지정된 너비를 합한 게 이용 가능한 빈 공간의 너비보다 길 때 일어납니다. ({{template.Bug(212789)}})
</li><li>새로운 선택 스타일이 행 전체 대신에 셀 하나하나를 선택할 수 있게 합니다. 트리 구조의 <code>seltype</code> 속성을 <code>'cell'</code>로 설정해서 써야 합니다. ({{template.Bug(296040)}})
</li><li>트리 구조가 이제 셀 하나하나를 편집하는 것을 지원합니다. 편집 가능한 셀을 더블클릭하면 셀의 내용을 편집할 수 있는 글상자를 보여줄 것입니다. {{mediawiki.interwiki('wikimo', 'XUL:Tree', '자세한 내용')}} ({{template.Bug(201499)}})
</li><li>&lt;treecol&gt; 요소가 이제 <code>overflow</code> 속성을 지원합니다. 이 속성의 값이 'true'이면 텍스트가 너무 길어 셀 안에 들어가지 않을 때 이웃의 빈 셀로 확장되도록 허용합니다.
</li></ul>
<h5 name=".EB.A9.94.EB.89.B4_.EA.B0.9C.EC.84.A0.EC.A0.90">메뉴 개선점</h5>
<p><code>&lt;menu&gt;</code> 및 <code>&lt;menulist&gt;</code> 요소를 일부분 개선했습니다({{template.Bug(333023)}}):
</p>
<ul><li>그림을 지정하는 데 <code>image</code> 속성이 일관되게 쓰입니다.
</li><li>항목을 선택할 때 <code>menulist</code>가 선택 이벤트를 발생합니다.
</li><li><code>menulist</code>에 <code>inputField</code>와 <code>editable</code> 프로퍼티가 추가됐습니다.
</li><li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code>에 읽기전용인 <code>selected</code> 프로퍼티가 추가됐습니다. 이 프로퍼티는 &lt;menulist&gt;의 항목의 선택 여부를 담게 됩니다.
</li><li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code> 요소에 읽기전용인 <code>control</code> 프로퍼티가 추가됐습니다. 이 속성은 에워싼 &lt;menulist&gt;를 넘겨줍니다.
</li><li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code> 요소는 이제 상응하는 속성을 설정하는 <code>accessKey</code>, <code>disabled</code>, <code>crop</code>, <code>image</code>, <code>label</code> 프로퍼티를 지원합니다.
</li><li>이제 <code>&lt;menu&gt;</code> 요소에 메뉴항목을 덧붙이고, 끼워넣고, 없애는 메소드가 있습니다. ({{template.Bug(372552)}})
</li><li>편집 가능한 <code>menulist</code>의 글상자에 쓰이는 내부 <a href="ko/NsIEditor">nsIEditor</a>를 넘겨주는 <code>editor</code> 프로퍼티를 지원합니다. ({{template.Bug(312867)}})
</li><li>이제 플랫폼이 지원하면 메뉴를 반투명하게 만들 수 있습니다. ({{template.Bug(70798)}})
</li></ul>
<p><br>
</p>
<h5 name=".EA.B8.80.EC.83.81.EC.9E.90.28Textbox.29_.EA.B0.9C.EC.84.A0.EC.A0.90">글상자(Textbox) 개선점</h5>
<ul><li><code>textbox</code>의 <code>spellcheck</code> 속성을 <code>'true'</code>로 설정하면 입력할 때마다 바로바로 맞춤법을 검사합니다(inline spellchecking). ({{template.Bug(346787)}})
</li><li>이제 <code>&lt;textbox&gt;</code>에 글상자의 값을 기본값으로 되돌리는 <code>reset()</code> 메소드가 있습니다. 글상자의 기본값을 가져오고 바꾸는 데 <code>defaultValue</code> 프로퍼티가 쓰이게 됩니다. ({{template.Bug(312867)}})
</li><li>텍스트 필드의 내부 <a href="ko/NsIEditor">nsIEditor</a>를 넘겨주는 <code>editor</code> 프로퍼티를 지원합니다. ({{template.Bug(312867)}})
</li><li>글상자가 이제 붙여넣은 텍스트의 줄바꿈 기호를 처리하는 방법을 지정하는 <code>newlines</code> 속성을 지원합니다. ({{template.Bug(253481)}}) 쓸 수 있는 값은 다음과 같습니다.
<ul><li><code>pasteintact</code> - 모두 그대로 붙여넣음
</li><li><code>pastetofirst</code> - (기본값) 첫 줄바꿈 기호까지만 붙여넣음
</li><li><code>replacewithspaces</code> - 줄바꿈 기호를 빈 칸으로 바꿈
</li><li><code>replacewithcommas</code> - 줄바꿈 기호를 반점(,)으로 바꿈
</li><li><code>strip</code> - 모든 줄바꿈 기호를 없앰
</li><li><code>stripsurroundingwhitespace</code> - 모든 줄바꿈 기호와 에워싼 공백문자를 없앰
</li></ul>
</li></ul>
<h5 name=".EA.B7.B8_.EB.B0.96.EC.9D.98_.EC.9A.94.EC.86.8C_.EA.B0.9C.EC.84.A0.EC.A0.90">그 밖의 요소 개선점</h5>
<ul><li>마우스 버튼을 누르고 있는 동안 명령(command) 이벤트를 되풀이하여 발생하는 버튼을 만들려면 <code>&lt;button&gt;</code>의 <code>type</code> 속성을 <code>'repeat'</code>로 설정해야 합니다. ({{template.Bug(331055)}})
</li><li>이제 <code>buttondisabledaccept</code> 속성을 <code>&lt;dialog&gt;</code> 요소에 써서 확인 버튼을 초기에 비활성화할 수 있습니다. ({{template.Bug(247849)}})
</li><li><code>&lt;titlebar&gt;</code> 요소가 이제 <code>allowevents</code> 속성을 지원합니다. 이 속성은 titlebar의 자식에게 이벤트를 넘겨줄 수 있게 합니다. ({{template.Bug(361425)}})
</li><li><code>&lt;splitter&gt;</code>가 이제 <code>collapse</code> 속성의 부가적인 값으로 <code>'both'</code>를 지원합니다. 이 값은 스플릿터를 마우스로 끌 때 양쪽의 요소를 접을 수 있음을 가리킵니다. <code>substate</code> 속성은 어느 쪽이 접혔는지(앞(before) 또는 뒤(after))를 나타냅니다. ({{template.Bug(337955)}})
</li><li><code>&lt;richlistbox&gt;</code> 요소가 이제 다중 선택을 지원합니다. 이 기능을 켜려면 <code>seltype</code> 속성을 <code>'multiple'</code>로 설정하세요.
</li><li>The <code>&lt;radio&gt;</code> element has a <code>group</code> attribute which may be set to the id of a <code>&lt;radiogroup&gt;</code> element which the radio button belongs to. This allows the radio buttons to arranged in a manner that may not be as suitable  when placing them all inside a radiogroup.
</li><li>Menus, panels and tooltips support two additional methods, <code>openPopup</code> and <code>openPopupAtScreen</code>. These methods should be used instead of <code>showPopup</code> which was found to be confusing to use.
</li></ul>
<h5 name=".ED.85.9C.ED.94.8C.EB.A6.BF_.EB.B0.94.EB.80.90_.EC.A0.90">템플릿 바뀐 점</h5>
<p><i>템플릿 문서화는 마크 핑클(#devmo의 mfinkle)이 이끌고 있습니다.</i>
</p><p>템플릿은 Firefox 3에서 두드러지게 향상됐습니다. 주 개선점은 맞춤 쿼리 처리기를 쓸 수 있게 해서 RDF 외에 다른 형식의 데이터 소스를 다룰 수 있게 했다는 것입니다. 새로운 쿼리 문법이 이것을 가능하게 합니다. 템플릿에 쓸 수 있는 새로운 기능의 자세한 내용은 {{mediawiki.interwiki('wikimo', 'XUL:Template_Features_in_1.9', '여기')}}에 있습니다. ({{template.Bug(285631)}})
</p><p>그 밖의 템플릿 개선점:
</p>
<ul><li>규칙에 결과를 맞추는 것을 더 정밀하게 제어하게 하는 관계 조건문이 추가됐습니다. 예를 들어 관계 조건문은 어떤 문자열로 시작하거나 끝나는 결과를 구하거나, 문자열이 다른 값의 앞이나 뒤에 있는 결과를 구하는 것을 가능하게 합니다.
</li><li>결과의 한 단계만 만들어지는 것과 같은 일로 재귀가 발생하지 않게 예방하는 'dont-recurse' 플래그가 추가됐습니다.
</li><li>출력 항목을 나타내는 결과 목적어를 구하는 API들이 템플릿 빌더에 추가됐습니다.
</li><li>XUL 정렬 서비스가 더 튼튼하고, 컨텐트 및 비컨텐트 나무구조 둘 다 더 잘 정렬합니다. 템플릿으로 만들지 않은 컨텐트를 정렬하는 것 역시 가능하게 합니다. ({{template.Bug(335122)}})
</li></ul>
<h5 name=".EA.B7.B8_.EB.B0.96.EC.9D.98_.EB.B3.80.EA.B2.BD_.EC.82.AC.ED.95.AD"> 그 밖의 변경 사항</h5>
<ul><li> JavaScript 1.8이 XUL 스크립트 및 자바 스크립트 기본 버전으로 채택 됩니다. 지시자명으로 <code>let</code> 같은 키워드를 사용하면 문제가 될 수 있습니다.
</li></ul>
<h4 name="XBL">XBL</h4>
<p>여러 XML 파일에서 데이터를 읽어오는 대신 <code>data:</code>가 URL을 XBL로 바로 바인딩합니다.  이에 대한 자세한 사항은을 참고하십시오 ({{template.Bug(366770)}}).
</p>
<h4 name=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EA.B4.80.EB.A6.AC.EC.9E.90"> 부가 기능 관리자</h4>
<h5 name=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.A9.94.ED.83.80_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EB.B2.88.EC.97.AD">부가 기능 메타 데이터 번역</h5>
<p>Firefox 3는 부가 기능 메타 데이터 번역에 대한 새로운 메소드를 제공 합니다.  This allows the localized details to be available as soon as the add-on has been downloaded and when the add-on is disabled as well as potentially improving matters for addons.mozilla.org.
</p><p>See <a href="ko/Localizing_extension_descriptions">Localizing extension descriptions</a> for the full details.
</p>
<h5 name="Toolkit_target_application_for_add-ons">Toolkit target application for add-ons</h5>
<p>Firefox 3 (and any Gecko 1.9 based application) allows you to specify a targetApplication entry with id <code>toolkit@mozilla.org</code> anywhere where you would specify the application's actual id (install.rdf, update.rdf). This allows you to say that the add-on is compatible with any toolkit app. The related minVersion and maxVersion are compared to the application's toolkit version (e.g. 1.9 for Firefox 3).
</p>
<h5 name="Security_restrictions_for_add-ons">Security restrictions for add-ons</h5>
<p>Add-ons are now required to provide a secure method of updating in order to be installed. Add-ons hosted at <a class="external" href="https://addons.mozilla.org">addons.mozilla.org</a> automatically provide this. Read <a href="ko/Extension_Versioning%2c_Update_and_Compatibility#Securing_Updates">Securing Updates</a> for more information.
</p>
<h4 name="Other_platform_functionality">Other platform functionality</h4>
<h5 name="Events">Events</h5>
<ul><li>Some events that were not previously are now reflected as attributes, such as 'onscroll'. Attributes are now available for the scroll, resize, DOMMouseScroll, DOMFocusIn, DOMFocusOut events as well as for the various mutation events.
</li><li>Two new drag related events are available. The <code>drag</code> event is fired on the source element during the drag. The <code>dragend</code> event is fired on the source node when a drag is complete.
</li></ul>
<h5 name="DOM_changes">DOM changes</h5>
<p>Added privileged-code-only getters for <code>Node.nodePrincipal</code>, <code>Node.baseURIObject</code>, and <code><a href="ko/DOM/document.documentURIObject">document.documentURIObject</a></code>.
</p><p>Chrome code must not touch (get or set) these properties on an unwrapped content object (e.g. on a <code>wrappedJSObject</code> of an <code><a href="ko/XPCNativeWrapper">XPCNativeWrapper</a></code>), see {{template.Bug(324464)}} for details.
</p>
<h5 name="Full_page_zoom">Full page zoom</h5>
<p>The {{template.Interface("nsIMarkupDocumentViewer")}} interface now includes support for <a href="ko/Full_page_zoom">full page zoom</a> as well as text zoom. ({{template.Bug(4821)}})
</p>
<h5 name="Idle_Service">Idle Service</h5>
<p>A new service has been added to determine how long the user has been idle (that is, since the last time they pressed a key or moved their mouse). This service implements the <code><a href="ko/NsIIdleService">nsIIdleService</a></code> interface.
</p>
<h5 name="XPCOM">XPCOM</h5>
<h6 name="XPCOM_cycle_collector">XPCOM cycle collector</h6>
<ul><li> See <a href="ko/Interfacing_with_the_XPCOM_cycle_collector">Interfacing with the XPCOM cycle collector</a> (should get graydon to look at it)
</li><li> See {{mediawiki.interwiki('wikimo', 'Global_nsICycleCollector_service', 'Global nsICycleCollector service')}} (outdated: design document)
</li><li> {{template.Bug(333078)}}
</li><li> <a href="ko/Using_XPCOM_in_JavaScript_without_leaking">Using XPCOM in JavaScript without leaking</a> should be updated
</li><li> Implementing cycle collector participant in external code (<a class="external" href="http://groups.google.com/group/mozilla.dev.tech.xpcom/browse_frm/thread/dce5bc97e888a82/5f6b49099bf28a02?lnk=st&amp;q=cycle+collector+mozilla&amp;rnum=5&amp;hl=en#5f6b49099bf28a02">, {{template.Bug(386025)}})
</a></li></ul><a class="external" href="http://groups.google.com/group/mozilla.dev.tech.xpcom/browse_frm/thread/dce5bc97e888a82/5f6b49099bf28a02?lnk=st&amp;q=cycle+collector+mozilla&amp;rnum=5&amp;hl=en#5f6b49099bf28a02">
<h6 name="Base64_conversion_in_JavaScript_components">Base64 conversion in JavaScript components</h6>
</a><p><a class="external" href="http://groups.google.com/group/mozilla.dev.tech.xpcom/browse_frm/thread/dce5bc97e888a82/5f6b49099bf28a02?lnk=st&amp;q=cycle+collector+mozilla&amp;rnum=5&amp;hl=en#5f6b49099bf28a02">Two new global functions have been added for use by JavaScript XPCOM components: <code>atob()</code> and <code>btoa()</code>.  These function identically to the DOM functions by the same names (see <code></code></a><code><a href="ko/DOM/window.atob">atob()</a></code> and <code><a href="ko/DOM/window.btoa">btoa()</a></code> for details). ({{template.Bug(326854)}})
</p>
<h6 name="XPCSafeJSObjectWrapper">XPCSafeJSObjectWrapper</h6>
<p>XPConnect now exposes the <code>XPCSafeJSObjectWrapper</code> JavaScript class, which is used to wrap <code>XPCNativeWrapper.wrappedJSObject</code> to provide improved security ({{template.Bug(355766)}}. In addition, the sandbox now provides several new methods to support this.
</p><p><i>Should update the <a href="ko/XPCNativeWrapper">XPCNativeWrapper</a> page, link the "several new methods" from here.</i>
</p>
<h5 name="Thread_manager">Thread manager</h5>
<ul><li><a href="ko/NsIThreadManager">nsIThreadManager</a>
</li><li>{{template.Bug(326273)}}
</li></ul>
<h5 name="JavaScript_modules_.28Components.import.29">JavaScript modules (<code>Components.import</code>)</h5>
<p><a href="ko/Components.utils.import">Components.utils.import</a> can now be used for sharing code among different scopes.
</p><p>Some modules are shipped with Firefox and other applications:
</p>
<ul><li> <a href="ko/XPCOMUtils.jsm">XPCOMUtils.jsm</a> (simplifies boilerplate in XPCOM components)
</li><li> <a href="ko/JSON.jsm">JSON.jsm</a>
</li></ul>
<h5 name="Removed_interfaces">Removed interfaces</h5>
<p>Certain interfaces have been removed from Gecko in version 1.9:
</p>
<ul><li> <code>nsIDOMPaintListener</code>
</li><li> <code>nsIDOMScrollListener</code>
</li><li> <code>nsIDOMMutationListener</code>
</li><li> <code>nsIDOMPageTransitionListener</code>
</li></ul>
<p>Code that makes use of any of these interfaces will need to be updated.
</p>
<h4 name=".EC.8B.A0.EA.B7.9C_Firefox_API">신규 Firefox API</h4>
<h4 name=".ED.94.8C.EB.A0.88.EC.9D.B4.EC.8A.A4"><a href="ko/Places">플레이스</a></h4>
<ul><li> 방문기록 및 북마크 API 추가
</li><li> 관련 정보 추가
</li><li> 방문기록, 북마크, 관련 정보 등을 DB형으로 쿼리 가능
</li><li> 방문기록, 북마크 이벤트
</li><li> 동기화
</li><li> Places 위젯
</li></ul>
<p>자세한 사항은을 참고하세요.
</p>
<h5 name=".EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C_.EA.B4.80.EB.A6.AC.EC.9E.90">다운로드 관리자</h5>
<ul><li> The Download Manager API has been enhanced with new features, including support for multiple progress listeners.  In addition, the Download Manager now uses <a href="ko/Storage">mozStorage</a> instead of RDF for its data management back-end.  See <code><a href="ko/NsIDownloadManager">nsIDownloadManager</a></code>, <code><a href="ko/NsIDownload">nsIDownload</a></code>, and <code><a href="ko/NsIDownloadProgressListener">nsIDownloadProgressListener</a></code> for detailed API references, and see <a href="ko/Monitoring_downloads">Monitoring downloads</a> for an example.
<ul><li> 백엔드가 RDF에서 mozStorage로 바뀌었습니다(결과적으로 nsIDownloadManager 및 nsIDownload의 API가 바뀌었습니다). ({{template.Bug(380250)}})
</li><li> 다운로드 관리자가 이제 다수의 경과 청취자를 지원합니다. ({{template.Bug(289540)}})
</li><li> retryDownload method added to Download Manager ({{template.Bug(382825)}})
</li><li> getDownload method now returns downloads from the past as well as active ones. ({{template.Bug(382839)}})
</li><li> 부가적인 정보를 얻으려면 <a class="external" href="http://shawnwilsher.com/archives/100">이 페이지</a>를 참고하세요.
</li></ul>
</li><li>You may now augment or replace the Download Manager user interface by implementing the {{template.Interface("nsIDownloadManagerUI")}} interface.
</li></ul>
<h5 name="Login_manager">Login manager</h5>
<p>The Password Manager has been replaced by the new Login Manager.  For details, see the following articles:
</p>
<ul><li> <code><a href="ko/NsILoginManager">nsILoginManager</a></code>
</li><li> <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code>
</li><li> <a href="ko/Using_nsILoginManager">Using nsILoginManager</a>
</li></ul>
<h5 name="Site-specific_preferences">Site-specific preferences</h5>
<p>Firefox 3 includes a service for getting and setting arbitrary site-specific (a.k.a. per-site) preferences that extensions as well as core code can use to keep track of their users' preferences for individual sites.  
</p>
<ul><li>{{template.Interface("nsIContentPrefService")}}
</li><li>{{template.Interface("nsIContentPrefObserver")}}
</li><li><a href="ko/Using_content_preferences">Using content preferences</a>
</li></ul>
<h4 name=".EA.B8.B0.ED.83.80_.EB.B2.84.EA.B7.B8_.EC.88.98.EC.A0.95_.EB.82.B4.EC.9A.A9">기타 버그 수정 내용</h4>
<ul><li>오버레이를 구문 분석할 때 오류가 발생하면 오버레이는 적용되지 않습니다. 구문해석 오류는 오류 콘솔에 기록됩니다. ({{template.Bug(355755)}})
</li><li><code>&lt;menupopup&gt;</code>이 메뉴 및 메뉴같은 요소에 붙여질 때 바인딩 안에 있을 수 있게 고쳤습니다. ({{template.Bug(345896)}})
</li><li>버튼의 <code>dlgType</code> 프로퍼티가 이제 제대로 작동합니다. ({{template.Bug(308591)}})
</li><li><a href="ko/DOM/event.initEvent">event.initEvent</a>의 <code>canBubble</code> 인수가 이제 제대로 작동해서 넘치지 않는 이벤트를 발생할 수 있습니다. ({{template.Bug(330190)}})
</li><li><code>DOMAttrModified</code> 이벤트가 이제 네임스페이스가 지정된 속성을 제대로 다룹니다. ({{template.Bug(247095)}})
</li><li><code>&lt;?xml-stylesheet ?&gt;</code>와 같은 XML 처리 명령(processing instructions)이 이제 XUL 문서의 DOM에 추가됐습니다. 이것은 <code>document.firstChild</code>가 루트 요소라는 것을 보장하지 않는 것을 의미합니다. 그 대신에 <code>document.documentElement</code>를 쓰세요. 또한 문서 서두에 있지 않은 <code>&lt;?xml-stylesheet ?&gt;</code>와 <code>&lt;?xul-overlay ?&gt;</code> 처리 명령은 이제 효과가 없습니다. ({{template.Bug(319654)}})
</li><li><code>getElementsByAttributeNS</code> 함수가 XUL 요소 및 문서에 추가됐습니다. ({{template.Bug(239976)}})
</li><li>XUL 문서에서 요소를 옮기거나 없앨 때 이벤트 경청자(listeners)를 보존합니다. ({{template.Bug(286619)}})
</li><li>보이지 않는 문서의 변화 이벤트(mutation events)도 발생합니다. ({{template.Bug(201238)}})
</li><li>요소가 잘못된 순서로 그려지는 것과 관련된 여러 문제를 고쳤습니다. ({{template.Bug(317375)}})
</li><li><code><a href="ko/DOM/element.getElementsByTagName">getElementsByTagName()</a></code> has been fixed to work correctly on subtrees that have elements with namespace prefixes in their tag names ({{template.Bug(206053)}}).
</li><li>The <code>DOMNodeInserted</code> and <code>DOMNodeRemoved</code> events now properly apply to the correct nodes ({{template.Bug(367164)}}).
</li></ul>
<h3 name=".EC.B0.B8.EA.B3.A0_.EC.82.AC.ED.95.AD">참고 사항</h3>
<ul><li> <a class="external" href="http://www.squarefree.com/burningedge/releases/trunk-for-firefox-3.html">squarefree.com에 있는 Firefox 3의 바뀐 점의 더 상세한 목록</a>
</li><li> {{mediawiki.interwiki('wikimo', 'Firefox3/Schedule', 'Firefox 3 일정')}}
</li><li> <a href="ko/Firefox_2_for_developers">Firefox 2 for developers</a>
</li><li> <a href="ko/Firefox_1.5_for_developers">Firefox 1.5 for developers</a>
</li></ul>
<div class="noinclude">
</div>
{{ wiki.languages( { "en": "en/XBL/XBL_1.0_Reference/Elements", "en": "en/Places", "en": "en/Firefox_3_for_developers", "es": "es/Firefox_3_para_desarrolladores", "fr": "fr/Firefox_3_pour_les_d\u00e9veloppeurs", "ja": "ja/Firefox_3_for_developers", "pl": "pl/Firefox_3_dla_programist\u00f3w" } ) }}
Revert to this revision