diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
commit | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch) | |
tree | a9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/zh-tw/mozilla/firefox/releases | |
parent | 074785cea106179cb3305637055ab0a009ca74f2 (diff) | |
download | translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2 translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip |
initial commit
Diffstat (limited to 'files/zh-tw/mozilla/firefox/releases')
21 files changed, 3142 insertions, 0 deletions
diff --git a/files/zh-tw/mozilla/firefox/releases/1.5/index.html b/files/zh-tw/mozilla/firefox/releases/1.5/index.html new file mode 100644 index 0000000000..01321916f6 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/1.5/index.html @@ -0,0 +1,103 @@ +--- +title: Firefox 1.5 技術文件 +slug: Mozilla/Firefox/Releases/1.5 +translation_of: Mozilla/Firefox/Releases/1.5 +--- +<div>{{FirefoxSidebar}}</div><p>Based on the <a href="/en-US/docs/Gecko" title="en-US/docs/Gecko">Gecko</a> 1.8 engine, Firefox 1.5 improved its already best in class standards support, and provided new capabilities to enable the next generation of web applications. Firefox 1.5 features improved support for CSS2 and CSS3, APIs for scriptable and programmable 2D graphics through <a href="/en-US/docs/SVG" title="en-US/docs/SVG">SVG</a> 1.1 and <a class="internal" href="/en-US/docs/HTML/Canvas" title="en-US/docs/HTML/Canvas"><code><canvas></code></a>, <a href="/en-US/docs/XForms" title="en-US/docs/XForms">XForms</a> and XML events, as well as many DHTML, JavaScript, and DOM enhancements.</p> +<h2 id="Developer_Tools">Developer Tools</h2> +<p>Several tools and browser extensions are available to help developers support Firefox 1.5.</p> +<ul> + <li><a href="/en-US/docs/DOM_Inspector" title="en-US/docs/DOM_Inspector">DOM Inspector</a>, a tool that allows developers to inspect and modify documents without having to edit the document directly. DOM Inspector is available as part of the Custom install option in Firefox 1.5 under Developer Tools.</li> + <li>JavaScript console, a tool to write and test JavaScript code as well as view JavaScript and CSS errors on a page.</li> + <li>View page source, with syntax highlighting and find features.</li> + <li><a class="link-https" href="https://addons.mozilla.org/extensions/showlist.php?application=firefox&category=Developer%20Tools">Browser extensions</a> including the <a class="external" href="http://www.joehewitt.com/software/firebug/">FireBug</a>, <a href="/en-US/docs/Web_Developer_Extension_(external)" title="en-US/docs/Web_Developer_Extension_(external)">Web Developer toolbar</a>, <a href="/en-US/docs/Live_HTTP_Headers_(external)" title="en-US/docs/Live_HTTP_Headers_(external)">Live HTTP Headers</a>, <a href="/en-US/docs/HTML_Validator_(external)" title="en-US/docs/HTML_Validator_(external)">HTML Validator</a> and many more.</li> +</ul> +<p><strong>Note:</strong> Some extensions do not currently support Firefox 1.5, and will be automatically disabled.</p> +<h2 id="Overview">Overview</h2> +<p>Some of the new features in Firefox 1.5:</p> +<h3 id="Web_site_and_application_developers">Web site and application developers</h3> +<dl> + <dt> + <a href="/en-US/docs/SVG_In_HTML_Introduction" title="en-US/docs/SVG_In_HTML_Introduction">SVG In XHTML Introduction</a></dt> + <dd> + Learn how to use SVG in XHTML pages and how to use JavaScript and CSS to manipulate the picture in the same way you would script regular XHTML. See also <a href="/en-US/docs/SVG_in_Firefox" title="en-US/docs/SVG_in_Firefox">SVG in Firefox</a> to learn about the status and known problems of SVG implementation in Firefox.</dd> + <dt> + <a href="/en-US/docs/HTML/Canvas/Drawing_Graphics_with_Canvas" title="en-US/docs/Drawing_Graphics_with_Canvas">Drawing Graphics with Canvas</a></dt> + <dd> + Learn about the new <code><canvas></code> tag and how to draw graphs and other objects in Firefox.</dd> + <dt> + <a href="/en-US/docs/CSS/Using_CSS_multi-column_layouts" title="en-US/docs/CSS3_Columns">CSS3 Columns</a></dt> + <dd> + Learn about the new support for automatic multi-column text layout as proposed for <a href="/en-US/docs/CSS/CSS3" title="CSS3">CSS3</a>.</dd> + <dt> + <a href="/en-US/docs/Using_Firefox_1.5_caching" title="en-US/docs/Using_Firefox_1.5_caching">Using Firefox 1.5 caching</a></dt> + <dd> + Learn about <code>bfcache</code> and how it speeds up back and forward navigation.</dd> +</dl> +<h3 id="XUL_and_Extension_Developers">XUL and Extension Developers</h3> +<dl> + <dt> + <a href="/en-US/docs/Building_an_Extension" title="en-US/docs/Building_an_Extension">Building an Extension</a></dt> + <dd> + This tutorial will take you through the steps required to build a very basic extension for Firefox. Also see <a class="external" href="http://kb.mozillazine.org/Getting_started_with_extension_development">another tutorial on MozillaZine knowledge base</a>, which demonstrates the new features of the Extension Manager in 1.5 that make creating a new extension even easier.</dd> + <dt> + <a href="/en-US/docs/XPCNativeWrapper" title="en-US/docs/XPCNativeWrapper">XPCNativeWrapper</a></dt> + <dd> + <code>XPCNativeWrapper</code> is a way to wrap up an object so that it's <a href="/en-US/docs/Safely_accessing_content_DOM_from_chrome" title="en-US/docs/Safely_accessing_content_DOM_from_chrome">safe to access from privileged code</a>. It can be used in all Firefox versions, though the behavior changed somewhat starting with Firefox 1.5 (Gecko 1.8).</dd> + <dt> + <a href="/en-US/docs/Preferences_System" title="en-US/docs/Preferences_System">Preferences System</a></dt> + <dd> + Learn about the new widgets that allow you to create Options windows easier using less JavaScript code.</dd> + <dt> + <a href="/en-US/docs/International_characters_in_XUL_JavaScript" title="en-US/docs/International_characters_in_XUL_JavaScript">International characters in XUL JavaScript</a></dt> + <dd> + XUL JavaScript files can now contain non-ASCII characters.</dd> + <dt> + <a href="/en-US/docs/Tree_Widget_Changes" title="en-US/docs/Tree_Widget_Changes">Tree API changes</a></dt> + <dd> + The interfaces for accessing XUL <code><tree></code> elements have changed.</dd> + <dt> + <a href="/en-US/docs/XUL_Changes_for_Firefox_1.5" title="en-US/docs/XUL_Changes_for_Firefox_1.5">XUL Changes for Firefox 1.5</a></dt> + <dd> + Summary of XUL changes. See also <a href="/en-US/docs/Adapting_XUL_Applications_for_Firefox_1.5" title="en-US/docs/Adapting_XUL_Applications_for_Firefox_1.5">Adapting XUL Applications for Firefox 1.5</a>.</dd> +</dl> +<h4 id="Networking-related_changes">Networking-related changes</h4> +<ul> + <li>Certificate prompts can now be overridden on a per-channel basis. This works by setting an interface requestor as an <a href="/en-US/docs/nsIChannel" title="en-US/docs/nsIChannel">nsIChannel</a>'s notificationCallbacks and giving out an interface for <a href="/en-US/docs/NsIBadCertListener" title="en-US/docs/NsIBadCertListener">nsIBadCertListener</a>.</li> + <li>nsIWebBrowserPersist's listeners can now implement <a href="/en-US/docs/XPCOM_Interface_Reference/nsIInterfaceRequestor" title="en-US/docs/nsIInterfaceRequestor">nsIInterfaceRequestor</a>::GetInterface and will get an opportunity to provide all interfaces that channels might ask for, including <a href="/en-US/docs/NsIProgressEventSink" title="en-US/docs/NsIProgressEventSink">nsIProgressEventSink</a> (not too useful, redundant with <a href="/en-US/docs/nsIWebProgressListener" title="en-US/docs/nsIWebProgressListener">nsIWebProgressListener</a>). Useful interfaces here include <a href="/en-US/docs/NsIChannelEventSink" title="en-US/docs/NsIChannelEventSink">nsIChannelEventSink</a> and <a href="/en-US/docs/NsIBadCertListener" title="en-US/docs/NsIBadCertListener">nsIBadCertListener</a>.</li> + <li>Extensions or other necko consumers, including XMLHttpRequest, can set a Cookie header explicitly, and necko will not replace it. Stored cookies will be merged with the explicitly set header, in a way that the explicit header will override the stored cookies.</li> +</ul> +<h2 id="New_End_user_Features">New End user Features</h2> +<h3 id="User_Experience">User Experience</h3> +<ul> + <li><strong>Faster browser navigation</strong> with improvements to back and forward button performance.</li> + <li><strong>Drag and drop reordering for browser tabs.</strong></li> + <li><strong>Answers.com is added to the search engine list</strong> for dictionary lookup.</li> + <li><strong>Improvements to product usability</strong> including descriptive error pages, redesigned options menu, RSS discovery, and "Safe Mode" experience.</li> + <li><strong>Better accessibility support</strong> including DHTML accessibility.</li> + <li><strong>Report a broken Web site wizard</strong> to report Web sites that are not working in Firefox.</li> + <li><strong>Better support for Mac OS X</strong> (10.2 and greater) including profile migration from Safari and Mac Internet Explorer.</li> +</ul> +<h3 id="Security_and_Privacy">Security and Privacy</h3> +<ul> + <li><strong>Automated update</strong> to streamline product upgrades. Notification of an update is more prominent, and updates to Firefox may now be half a megabyte or smaller. Updating extensions has also improved.</li> + <li><strong>Improvements to popup blocking.</strong></li> + <li><strong>Clear Private Data</strong> feature provides an easy way to quickly remove personal data through a menu item or keyboard shortcut.</li> +</ul> +<h3 id="Support_for_open_Web_standards">Support for open Web standards</h3> +<p>Firefox support for Web standards continues to lead the industry with consistent cross-platform implementations for:</p> +<ul> + <li>Hypertext Markup Language (<a href="/en-US/docs/HTML" title="en-US/docs/HTML">HTML</a>) and Extensible Hypertext Markup Language (<a href="/en-US/docs/XHTML" title="en-US/docs/XHTML">XHTML</a>): <a class="external" href="http://www.w3.org/TR/html401/">HTML 4.01</a> and <a class="external" href="http://www.w3.org/TR/xhtml1/">XHTML 1.0/1.1</a></li> + <li>Cascading Style Sheets (<a href="/en-US/docs/CSS" title="en-US/docs/CSS">CSS</a>): <a class="external" href="http://www.w3.org/TR/REC-CSS1">CSS Level 1</a>, <a class="external" href="http://www.w3.org/TR/REC-CSS2">CSS Level 2</a> and parts of <a class="external" href="http://www.w3.org/Style/CSS/current-work.html">CSS Level 3</a></li> + <li>Document Object Model (<a href="/en-US/docs/DOM" title="en-US/docs/DOM">DOM</a>): <a class="external" href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/">DOM Level 1</a>, <a class="external" href="http://www.w3.org/DOM/DOMTR#dom2">DOM Level 2</a> and parts of <a class="external" href="http://www.w3.org/DOM/DOMTR#dom3">DOM Level 3</a></li> + <li>Mathematical Markup Language: <a class="external" href="http://www.w3.org/Math/">MathML Version 2.0</a></li> + <li>Extensible Markup Language (<a href="/en-US/docs/XML" title="en-US/docs/XML">XML</a>): <a class="external" href="http://www.w3.org/TR/REC-xml">XML 1.0</a>, <a class="external" href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>, <a class="external" href="http://www.w3.org/TR/xml-stylesheet/">Associating Style Sheets with XML Documents 1.0</a>, <a class="external" href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/2001AprJun/att-0074/01-NOTE-FIXptr-20010425.htm">Fragment Identifier for XML</a></li> + <li>XSL Transformations (<a href="/en-US/docs/XSLT" title="en-US/docs/XSLT">XSLT</a>): <a class="external" href="http://www.w3.org/TR/xslt">XSLT 1.0</a></li> + <li>XML Path Language (<a href="/en-US/docs/XPath" title="en-US/docs/XPath">XPath</a>): <a class="external" href="http://www.w3.org/TR/xpath">XPath 1.0</a></li> + <li>Resource Description Framework (<a href="/en-US/docs/RDF" title="en-US/docs/RDF">RDF</a>): <a class="external" href="http://www.w3.org/RDF/">RDF</a></li> + <li>Simple Object Access Protocol (SOAP): <a class="external" href="http://www.w3.org/TR/SOAP/">SOAP 1.1</a></li> + <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a> 1.6, based on <a href="/en-US/docs/ECMAScript" title="en-US/docs/ECMAScript">ECMA-262</a>, revision 3: <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMA-262</a></li> +</ul> +<p>Firefox 1.5 supports the following data transport protocols (HTTP, FTP, SSL, TLS, and others), multilingual character data (Unicode), graphics (GIF, JPEG, PNG, SVG, and others) and the latest version of the world's most popular scripting language, <a href="/en-US/docs/New_in_JavaScript_1.6" title="en-US/docs/New_in_JavaScript_1.6">JavaScript 1.6</a>.</p> +<h2 id="Changes_since_Firefox_1.0">Changes since Firefox 1.0</h2> +<p>Many changes have been introduced into Firefox since it was first released on November 9, 2004. Firefox has progressed with many new features and bug fixes. A detailed list of changes is available from <a class="external" href="http://www.squarefree.com/burningedge/releases/1.5-comprehensive.html">squarefree.com</a>.</p> diff --git a/files/zh-tw/mozilla/firefox/releases/10/index.html b/files/zh-tw/mozilla/firefox/releases/10/index.html new file mode 100644 index 0000000000..1226e5de82 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/10/index.html @@ -0,0 +1,209 @@ +--- +title: Firefox 10 技術文件 +slug: Mozilla/Firefox/Releases/10 +translation_of: Mozilla/Firefox/Releases/10 +--- +<div>{{FirefoxSidebar}}</div> + +<p>Firefox 10 shipped on January 31, 2012. This article provides information about the new features and key bugs fixed in this release, as well as links to more detailed documentation for both web developers and add-on developers.</p> + +<p>This documentation is not yet complete. Want to help document Firefox 10? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&version=10.0" title="http://beta.elchi3.de/doctracker/#list=fx&version=10.0">list of bugs that need to be written about</a> and pitch in!</p> + +<div class="note"><strong>Important note: </strong>Firefox 10 is the first release of this browser with two digits. This may lead to problem with some UA-sniffing scripts. Be sure to check them, and those contained in 3rd-party software you embed in your pages, like libraries. For more information about this, look at the <a class="external" href="http://hacks.mozilla.org/2012/01/firefox-goes-2-digit-time-to-check-your-ua-sniffing-scripts/" title="http://hacks.mozilla.org/2012/01/firefox-goes-2-digit-time-to-check-your-ua-sniffing-scripts/">Firefox goes 2-digit article on hack.mozilla.org</a>.</div> + +<h2 id="Changes_for_Web_developers">Changes for Web developers</h2> + +<h3 id="HTML">HTML</h3> + +<ul> + <li>The new HTML5 {{ HTMLElement("bdi") }} element, bi-directional isolation, allowing isolation of parts of text with a different directionality has been implemented. This is especially useful when displaying text with an unknown directionality, coming from a database for example, in the middle of text with a known, and potentially, different one.</li> + <li>You may now specify a fragment of "top" for the {{ htmlattrxref("href", "a") }} attribute to create a link to the top of the page. This used to work, then went away for a while, and now it's back, for compatibility with the HTML5 specification. For example: <code><a href="#top">Return to top of page</a></code>.</li> +</ul> + +<h3 id="JavaScript">JavaScript</h3> + +<ul> + <li>The method <code><a href="/en/JavaScript/Reference/Global_Objects/WeakMap" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/WeakMap">WeakMap</a>.set()</code> now returns <em><code>undefined</code></em>, instead of itself.</li> + <li>A bug was introduced in regular expression handling in Firefox 7; this has been fixed. See {{ bug(683838) }} if you want the gory details.</li> + <li>You can no longer use <a href="/en/E4X" title="E4X">E4X</a> syntax while in <a href="/en/JavaScript/Reference/Functions_and_function_scope/Strict_mode" title="Strict mode">ECMAScript 5 strict mode</a> (that is, after <code>"use strict;"</code>).</li> +</ul> + +<h3 id="DOM">DOM</h3> + +<h4 id="DOM3_Events">DOM3 Events</h4> + +<ul> + <li>The DOM Event method <a href="/en/DOM/event.stopImmediatePropagation" title="event.stopImmediatePropagation"><code>event.stopImmediatePropagation</code></a> has been implemented.</li> + <li>The mouse events <code>mouseenter</code> and <code>mouseleave</code> have been implemented.</li> +</ul> + +<h4 id="DOM4">DOM4</h4> + +<ul> + <li>The attribute {{ domxref("document.xmlVersion") }} (which was only gettable and not settable) has been removed as it has been deprecated in the DOM4 specification. The article for {{ domxref("document.xmlVersion") }} now suggests a way to detect whether the document is HTML or XML without using that property.</li> + <li>The attribute {{ domxref("document.xmlStandalone") }} has been removed as it has been deprecated in the DOM4 specification.</li> + <li>The attribute {{ domxref("document.xmlEncoding") }} has been removed as it has been deprecated in the DOM4 specification.</li> + <li>The attribute {{ domxref("text.isElementContentWhiteSpace") }} has been removed as it has been deprecated in the DOM4 specification.</li> + <li>The method {{ domxref("text.replaceWholeText") }} has been removed as it has been deprecated in the DOM4 specification.</li> + <li>The method {{ domxref("node.isSameNode") }} has been removed as it has been deprecated in the DOM4 specification. Instead of <code><em>node1</em>.isSameNode(<em>node2</em>)</code>, you can simply use the <code>===</code> operator, like this: <code><em>node1 </em>===</code><code><em> node2</em></code>.</li> +</ul> + +<h4 id="Page_Visibility_API">Page Visibility API</h4> + +<ul> + <li>The <a href="/en/DOM/Using_the_Page_Visibility_API" title="Using the Page Visibility API">Page Visibility API</a> has been implemented (prefixed): <code>document.mozHidden</code>, <code>document.mozVisibilityState</code> are available and the event <code>mozvisibilitychanged</code> is sent when the state is modified.</li> +</ul> + +<h4 id="Full_Screen_API">Full Screen API</h4> + +<ul> + <li>Support for {{ domxref("document.mozFullScreenEnabled") }} has been added.</li> + <li>The new {{ cssxref(":-moz-full-screen-ancestor") }} property has been added. This lets you match against elements that are ancestors of an element in full screen mode.</li> +</ul> + +<h4 id="Battery_API">Battery API</h4> + +<ul> + <li>Experimental support for {{ domxref("window.navigator.mozBattery") }} has been added (can be enabled setting the preference <code>dom.battery.enabled</code> to <code>true</code> and will be enabled by default starting with Firefox 11).</li> +</ul> + +<h4 id="Canvas">Canvas</h4> + +<ul> + <li>The <a href="/en/DOM/CanvasRenderingContext2D#createPattern%28%29" title="en/DOM/CanvasRenderingContext2D#createPattern%28%29"><code>createPattern()</code></a> method now throws an exception if a zero-sized source canvas is specified.</li> + <li>If you use a non-finite value for any of the numeric parameters to <a href="/en/DOM/CanvasRenderingContext2D#putImageData%28%29" title="en/DOM/CanvasRenderingContext2D#putImageData%28%29"><code>putImageData()</code></a>, the call is now silently ignored instead of throwing an exception, in keeping with the specification.</li> +</ul> + +<h4 id="WebGL">WebGL</h4> + +<ul> + <li>Firefox 10 now supports the <a class="external" href="http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/" title="http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/"><code>OES_standard_derivatives</code></a> extension.</li> + <li><a href="/en/WebGL#WebGL_debugging_and_testing" title="en/WebGL#WebGL_debugging_and_testing">New preferences have been added</a> to help test WebGL code for compatibility with minimally-capable devices on your full development platform.</li> +</ul> + +<h4 id="Web_Workers">Web Workers</h4> + +<ul> + <li>The attribute <code>XMLHttpRequest.responseType</code> and <code>XMLHttpRequest.response</code> are now available from inside <a href="/en/DOM/Worker/Functions_available_to_workers#section_2" title="https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers#section_2">Workers</a>.</li> + <li>The <a href="/en/DOM/Worker#Worker()" title="En/DOM/Worker#Worker()"><code>Worker()</code></a> constructor now accepts <a href="/en/data_URIs" title="data URIs">data URIs</a>.</li> +</ul> + +<h4 id="IndexedDB">IndexedDB</h4> + +<p>Great progress has been made to update IndexedDB to the latest draft specification. This effort will continue in Firefox 11.</p> + +<ul> + <li>The <a href="/en/IndexedDB/IDBIndex#count" title="en/IndexedDB/IDBIndex#count"><code>IDBIndex.count()</code></a> and <a href="/en/IndexedDB/IDBObjectStore#count" title="en/IndexedDB/IDBObjectStore#count"><code>IDBObjectStore.count()</code></a> methods have been added.</li> + <li>The <a href="/en/IndexedDB/IDBCursor#advance" title="en/IndexedDB/IDBCursor#advance"><code>IDBCursor.advance()</code></a> method has been added.</li> + <li>When encountering an unknown optional parameter in <a href="/en/IndexedDB/IDBObjectStore#createIndex" title="https://developer.mozilla.org/en/IndexedDB/IDBObjectStore#createIndex"><code>IDBObjectStore.createIndex()</code></a> or <a href="/en/IndexedDB/IDBDatabase#createObjectStore" title="en/IndexedDB/IDBDatabase#createObjectStore"><code>IDBDatabase.createObjectStore()</code></a>, Gecko will not fire an exception anymore, but simply ignore it.</li> + <li>When <a href="/en/IndexedDB/IDBTransaction#abort%28%29" title="https://developer.mozilla.org/en/IndexedDB/IDBTransaction#abort%28%29"><code>IDBTransaction.abort()</code></a> is called, all pending <a href="/en/IndexedDB/IDBRequest" title="IDBRequest"><code>IDBRequest</code></a> have their <code>errorCode</code> set to <code>ABORT_ERROR</code>.</li> + <li>The methods <a href="/en/IndexedDB/IDBObjectStore#delete()" title="en/IndexedDB/IDBObjectStore#delete()"><code>IDBObjectStore.delete()</code></a> and <a href="/en/IndexedDB/IDBCursor#delete()" title="en/IndexedDB/IDBCursor#delete()"><code>IDBCursor.delete()</code></a> now set the <code>result</code> attribute of the returned <a href="/en/IndexedDB/IDBRequest" title="en/IndexedDB/IDBRequest"><code>IDBRequest</code></a> to <code>undefined</code>.</li> + <li>The method <a href="/en/IndexedDB/IDBDatabase#setVersion()" title="en/IndexedDB/IDBDatabase#setVersion()"><code>IDBDatabase.setVersion()</code></a> has been removed as it was removed from the latest spec. The version of the database is given through the <a href="/en/IndexedDB/IDBFactory#open" title="en/IndexedDB/IDBFactory#open"><code>IDBFactory.open()</code></a> method which has been updated and the <code>onupgradeneeded </code>callback allows the schema of the database to be upgraded. The version itself has been changed from a <code>DOMString</code> to an <code>unsigned long long</code>. The <a href="/en/IndexedDB/IDBVersionChangeRequest" title="en/IndexedDB/IDBVersionChangeRequest"><code>IDBVersionChangeRequest</code></a> interface has been removed and replaced by the new <a href="/en/IndexedDB/IDBOpenDBRequest" title="en/IndexedDB/IDBOpenDBRequest"><code>IDBOpenDBRequest</code></a> interface.</li> + <li>The method <a href="/en/IndexedDB/IDBFactory#deleteDatabase%28%29" title="en/IndexedDB/IDBFactory#deleteDatabase%28%29"><code>IDBFactory.deleteDatabase()</code></a> method has been added.</li> +</ul> + +<h4 id="Other">Other</h4> + +<ul> + <li>When the proper MIME type is passed, <code>image/svg+xml</code>, <a href="/en/DOM/DOMParser#Parsing_a_SVG_document" title="https://developer.mozilla.org/en/DOM/DOMParser#Parsing_a_SVG_document">the <code>DOMParser</code> now creates a <code>SVGDocument</code></a> when given a string with SVG.</li> + <li>In the past, when {{ domxref("element.setAttribute()") }} parsed integers, it would report an error if the integer included any non-numeric characters (for example "42foo"). Now it correctly truncates this as the number 42, in accordance with the specification.</li> + <li>The ESC key no longer incorrectly results in the {{ domxref("window.oninput") }} handler incorrectly getting called.</li> + <li>The {{ domxref("NameList") }} interface is no longer implemented; it previously had an implementation with no way to actually get access to one.</li> + <li>The {{ domxref("document.createProcessingInstruction()") }} method now works on HTML documents as well as XML documents. {{ domxref("ProcessingInstruction") }} nodes are still only supported on XML documents, but since nodes can be moved among documents, it's helpful to be able to create them on HTML documents as well.</li> + <li>The {{ domxref("XMLHttpRequest") }} <code>responseType</code> "<code>moz-json</code>" <a href="/en/Firefox_9_for_developers#DOM" title="en/Firefox_9_for_developers#DOM">introduced in Firefox 9</a> has been updated to the latest draft of the specification and has been unprefixed. See {{ bug("707142#c13") }}</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<ul> + <li>CSS 3D Transforms are now supported. This includes support for the {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }} and {{ cssxref("backface-visibility") }} properties, as well as for 3D transform functions in the {{ cssxref("transform") }} and {{ cssxref("transform-function") }} properties. See <a href="/En/CSS/Using_CSS_transforms#3D_specific_CSS_properties" title="En/CSS/Using_CSS_transforms#3D_specific_CSS_properties">Using CSS transforms</a> for details.</li> + <li>Two new values for the CSS property {{ cssxref("unicode-bidi") }} have been added: <code>-moz-isolation</code> and <code>-moz-plaintext</code>. The <code>-moz-isolation</code> value isolates, from a directionality point of view, the element from its environment, letting it have a different directionality. An element with <code>unicode-bidi:-moz-isolation</code> behaves like a {{ HTMLElement("bdi") }} element. The <code>-moz-plaintext</code> indicates the browser to use the Unicode browser heuristic to determine directionality and not the CSS {{ cssxref("direction") }} property.</li> + <li>The CSS {{ cssxref("linear-gradient") }} and {{ cssxref("repeating-linear-gradient") }} properties have been updated to support the new <code>to</code> syntax and the <em>magic corner</em> algorithm. This allows to give a precise color on the corner of a gradient-filled box.</li> + <li>The {{ cssxref("text-overflow") }} property's handling of cases in which the box overflows on both sides while the <code>text-overflow</code> property is set to overflow on only one <a href="/en/CSS/text-overflow#Gecko_notes" title="en/CSS/text-overflow#Gecko_notes">has been corrected</a>.</li> + <li>Handling of the {{ cssxref("position") }} property on elements inside positioned {{ HTMLElement("table") }} elements <a href="/en/CSS/position#Gecko_notes" title="en/CSS/position#Gecko_notes">has been fixed</a>. <strong>This change will affect layout of pages; however, we now comply with the CSS specification and with other browsers, so this should be easy to fix.</strong></li> + <li>Margin collapsing around {{ HTMLElement("table") }} elements has been fixed to match the CSS specification. Previously, table elements' margins would not be collapsed along with other adjacent elements, leading to incorrect layout. <strong>This change will affect layout of pages; however, we now comply with the CSS specification and with other browsers, so this should be easy to fix.</strong></li> +</ul> + +<h3 id="SVG">SVG</h3> + +<ul> + <li>The {{ SVGElement("mask") }} element has been updated to support both sRGB and linearRGB, and now defaults to sRGB, in compliance with the latest revision of the SVG 1.1 specification.</li> +</ul> + +<h3 id="Networking">Networking</h3> + +<ul> + <li>The HTTP <code>Accept-Charset</code> header is no longer sent in HTTP requests. In its absence, servers should respond by sending UTF-8.</li> +</ul> + +<h3 id="Developer_tools">Developer tools</h3> + +<ul> + <li>The {{ domxref("console") }} object has two new methods, {{ domxref("console.time()") }} and {{ domxref("console.timeEnd()") }}, which can be used to set timers on a page.</li> + <li>The new <a href="/en/Tools/Page_Inspector" title="Page Inspector">Page Inspector</a> has been added, providing an excellent way to examine and manipulate the HTML and CSS behind your content.</li> +</ul> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>For an overview of likely issues that may arise when updating your add-ons to support Firefox 10, see <a href="/en/Firefox/Updating_add-ons_for_Firefox_10" title="en/Firefox/Updating_add-ons_for_Firefox_10">Updating add-ons for Firefox 10</a>.</p> + +<div class="note"><strong>Note:</strong> The old <a href="/en/PRBool" title="PRBool"><code>PRBool</code></a> data type has been retired! Anywhere in the documentation that refers to it now uses the standard C++ <code>bool</code> type instead. Documentation will be updated in the future, but for now, just keep this in mind.</div> + +<h3 id="Manifests">Manifests</h3> + +<ul> + <li>Support for <a href="/en/Install_Manifests#strictCompatibility" title="en/Install_Manifests#strictCompatibility"><code><em:strictCompatibility></code></a> has been added to the install manifest. It allows add-ons authors to opt in to checking the maximum version of their extension. If set to <code>true</code> the add-on will be disabled if the application version is greater than <code><em:maxVersion></code>. Firefox 10 defaults to add-ons being compatible, regardless of their specified maximum version. This flag overrides that preference. You should set this if your add-on does things that are likely to be broken by Firefox updates, <strong>but not</strong> if your add-on has a binary component, since such add-ons always get strictly checked (remember that binary components must always be recompiled for each major Firefox release).</li> + <li>If you wish to revert to the old behavior -- that is, to strict compatibility checking for all add-ons, regardless of the value of the <code>strictCompatibility</code> flag in their manifests, you can set the <code>extensions.strictCompatibility</code> preference to <code>true</code>.</li> +</ul> + +<h3 id="XUL">XUL</h3> + +<ul> + <li>Bootstrapped add-ons using a <a href="/en/Chrome_Registration" title="en/chrome.manifest">chrome.manifest</a> file now have the manifest file registered automatically. See the section <a href="/en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest" title="en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest">Adding user interface with a chrome.manifest</a> for details.</li> +</ul> + +<h3 id="XPConnect">XPConnect</h3> + +<ul> + <li>Several new properties and methods have been added to <a href="/en/Components.utils" title="Components.utils"><code>Components.utils</code></a>, granting access to assorted debugging-related information.</li> +</ul> + +<h3 id="Interface_changes">Interface changes</h3> + +<ul> + <li>The {{ interface("mozISpellCheckingEngine") }} and {{ interface("nsIEditorSpellCheck") }} interfaces have been updated to allow restartless add-ons to add dictionaries to the spell checker. <strong>XXX need to <a href="/En/Using_an_External_Spell-checker" title="en/Using_an_External_Spell-checker">update docs</a> on how to actually do this.</strong></li> + <li>The {{ ifattribute("nsIBrowserHistory", "lastPageVisited") }} attribute has been removed.</li> + <li>The <code>nsIDocumentViewer</code> interface has been merged into {{ interface("nsIContentViewer") }}.</li> + <li>The {{ interface("nsIURIFixup") }} interface has a new flag, <code>FIXUP_FLAG_USE_UTF8</code>, which lets you tell it to use UTF-8 instead of the platform character set, when doing conversions.</li> +</ul> + +<h3 id="Plug-in_changes">Plug-in changes</h3> + +<ul> + <li>The <a href="/en/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Working_with_URLs" title="en/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Working_with_URLs">new variable <code>NPNVdocumentOrigin</code></a> has been added; this returns the document origin, and is more secure than {{ domxref("window.location") }}.</li> +</ul> + +<h3 id="Build_system_changes">Build system changes</h3> + +<ul> + <li>The <code>--disable-rdf</code> build option, which actually made it impossible to successfully build, has been removed. Work is ongoing on being able to actually remove RDF support entirely, but at present XUL still requires it to function. See {{ bug(559505) }} for progress on removing the last vestiges of RDF being required.</li> + <li>The <code>--disable-smil</code> build option has been removed.</li> +</ul> + +<h3 id="See_also">See also</h3> + +<ul> + <li><a href="/en/Firefox_9_for_developers" title="en/Firefox 9 for developers">Firefox 9 for developers</a></li> + <li><a href="/en/Firefox_8_for_developers" title="en/Firefox 8 for developers">Firefox 8 for developers</a></li> + <li><a href="/en/Firefox_7_for_developers" title="en/Firefox 7 for developers">Firefox 7 for developers</a></li> + <li><a href="/en/Firefox_6_for_developers" title="en/Firefox 6 for developers">Firefox 6 for developers</a></li> + <li><a href="/en/Firefox_5_for_developers" title="en/Firefox 5 for developers">Firefox 5 for developers </a></li> + <li><a href="/en/Firefox_4_for_developers" title="en/Firefox 4 for developers">Firefox 4 for developers </a></li> + <li><a href="/en/Firefox_3.6_for_developers" title="en/Firefox 3.6 for developers">Firefox 3.6 for developers </a></li> + <li><a href="/En/Firefox_3.5_for_developers" title="en/Firefox 3.5 for developers">Firefox 3.5 for developers</a></li> + <li><a href="/en/Firefox_3_for_developers" title="en/Firefox 3 for developers">Firefox 3 for developers</a></li> + <li><a href="/en/Firefox_2_for_developers" title="en/Firefox 2 for developers">Firefox 2 for developers</a></li> + <li><a href="/en/Firefox_1.5_for_developers" title="en/Firefox 1.5 for developers">Firefox 1.5 for developers</a></li> +</ul> + +<p>{{ languages( { "ja": "ja/Firefox_10_for_developers" } ) }}</p> diff --git a/files/zh-tw/mozilla/firefox/releases/11/index.html b/files/zh-tw/mozilla/firefox/releases/11/index.html new file mode 100644 index 0000000000..cd5895fe6d --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/11/index.html @@ -0,0 +1,111 @@ +--- +title: Firefox 11 技術文件 +slug: Mozilla/Firefox/Releases/11 +translation_of: Mozilla/Firefox/Releases/11 +--- +<div>{{FirefoxSidebar}}</div><p>Firefox 11 shipped on March 13, 2012. This article provides information about the new features and key bugs fixed in this release, as well as links to more detailed documentation for both web developers and add-on developers.</p> +<h2 id="Changes_for_Web_developers">Changes for Web developers</h2> +<h3 id="HTML">HTML</h3> +<ul> + <li>The attributes <code>muted</code> and <code>loop</code> on {{HTMLElement("audio")}} and {{HTMLElement("video")}} elements have been implemented.</li> +</ul> +<h3 id="DOM">DOM</h3> +<ul> + <li>The {{domxref("element.outerHTML")}} property is now supported on HTML elements.</li> + <li><a href="/en-US/docs/HTML_in_XMLHttpRequest" title="en-US/docs/HTML_in_XMLHttpRequest"><code>XMLHttpRequest</code> supports HTML parsing</a>.</li> + <li>Removed support for using the {{domxref("XMLHttpRequest")}} <code>responseType</code> and <code>withCredentials</code> attributes when performing synchronous requests. Attempting to do so throws an <code>NS_ERROR_DOM_INVALID_ACCESS_ERR</code> exception. This change has been proposed to the W3C for standardization.</li> + <li>The new {{domxref("window.navigator.mozVibrate()")}} method lets you vibrate the device where supported; this is implemented as <code>mozVibrate()</code> on Gecko.</li> + <li>{{domxref("window.navigator.mozApps")}} returns an <a href="/en-US/docs/DOM/Apps" title="Apps"><code>Apps</code></a> object you can use to install and manage <a href="/en-US/docs/Apps" title="en-US/docs/Apps">open web applications</a>.</li> + <li><code>MozBeforePaint</code> events are no longer fired. {{domxref("window.requestAnimationFrame", "mozRequestAnimationFrame()")}} consumers who used these should pass a callback function instead.</li> + <li>Support for canceling animation frame requests has been added; {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} now returns a request ID value, which you can pass to {{domxref("window.cancelAnimationFrame", "window.mozCancelAnimationFrame()")}} to cancel the request.</li> + <li>Several {{domxref("Event")}} constructors (<code>Event</code>, HTML events, <code>UIEvent</code>, and <code>MouseEvent</code>) introduced in DOM4 specifications are now supported.</li> + <li>The {{domxref("window.navigator.mozBattery", "Battery API")}} is now enabled by default.</li> + <li>Support for the <a href="/en-US/docs/DOM/HTMLMediaElement" title="en-US/docs/DOM/HTMLMediaElement"><code>defaultMuted</code></a>, <code><a href="/en-US/docs/DOM/HTMLMediaElement" title="en-US/docs/DOM/HTMLMediaElement">loop</a></code> and <a href="/en-US/docs/DOM/HTMLMediaElement" title="en-US/docs/DOM/HTMLMediaElement"><code>muted</code></a> properties on <a href="/en-US/docs/DOM/HTMLMediaElement" title="en-US/docs/DOM/HTMLMediaElement"><code>HTMLMediaElement</code></a> has been added.</li> + <li>Calling {{domxref("document.mozCancelFullScreen()")}} now restores the previously full-screen element if some other element was in full-screen mode when the current element's {{domxref("element.mozRequestFullScreen()")}} method was called.</li> + <li>The {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} method no longer supports a no-argument form. This form was not used much and is unlikely to become part of the standard.</li> + <li>SVG-as-an-image can now be drawn into a canvas without <a href="/en-US/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F" title="en-US/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F">tainting the canvas</a>.</li> + <li>The non-standard <code>countryCode</code> property of the <code>GeoPositionAddress</code> interface has been removed; see {{interface("nsIDOMGeoPositionAddress")}}.</li> + <li><a href="/en-US/docs/Server-sent_events" title="Server-sent events">Server-sent events</a> now support <a href="/en-US/docs/HTTP_access_control" title="HTTP access control (CORS)">CORS</a>.</li> + <li>In the past, when the user followed a link, the values set on the {{domxref("window.navigator")}} object were retained by the new page. Now a new <code>navigator</code> object is created for the new page. This makes Firefox behave like all other browsers.</li> +</ul> +<h3 id="CSS">CSS</h3> +<ul> + <li>the <a href="/en-US/docs/CSS/text-size-adjust" title="text-size-adjust"><code>text-size-adjust</code></a> property is now supported</li> + <li><a href="/en-US/docs/CSS/CSS3" title="CSS3">CSS3</a> <a href="/en-US/docs/CSS/CSS3#Conditional_Rules" title="CSS3 Conditional Rules">Conditional Rules</a> are now better supported: nested statements can now be added to <a href="/en-US/docs/CSS/@media" title="@media">@media</a>, <a href="/en-US/docs/CSS/@document" title="@document">@-moz-document</a>. (See <a href="/en-US/docs/CSS/Syntax" title="Syntax">CSS Syntax</a> and <a href="/en-US/docs/CSS/At-rule" title="At-rule">CSS at-rules</a>).</li> +</ul> +<h3 id="JavaScript">JavaScript</h3> +<p><em>No change.</em></p> +<h3 id="SVG">SVG</h3> +<ul> + <li>The {{domxref("SVGSVGElement")}} DOM interface now support the <code>getElementById</code> method.</li> +</ul> +<h3 id="WebSocket">WebSocket</h3> +<ul> + <li><a href="/en-US/docs/WebSockets" title="en-US/docs/WebSockets">WebSocket</a> API now supports binary messages (see {{bug("676439")}}).</li> + <li>Both the protocol and the API has been updated to the latest draft of the specification and the API has been unprefixed (see {{bug("666349")}} and {{bug("695635")}}).</li> + <li>Previously, messages sent and received using WebSockets in Firefox were limited to 16 MB in size; they may now be up to 2 GB (although memory capacity limitations may prevent them from being that large, Firefox supports it).</li> +</ul> +<h3 id="IndexedDB">IndexedDB</h3> +<ul> + <li>The support for <a href="/en-US/docs/IndexedDB/IDBFactory#cmp%28%29" title="https://developer.mozilla.org/en-US/docs/IndexedDB/IDBFactory#cmp%28%29">IDBFactory.cmp()</a> has been added.</li> + <li>An <a href="/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#section_6" title="https://developer.mozilla.org/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#section_6">IndexedDB key</a> can also be of one of the following types: Date, Arrays and Float (and not only String and Integer).</li> +</ul> +<h3 id="Network">Network</h3> +<ul> + <li>The change in Firefox 8 that removed support for double quote characters as delimiters for {{rfc(2231)}} and {{rfc(5987)}} has been reverted, as this broke some sites, including Outlook Web Access.</li> + <li>The user agent string in HTTP headers now includes an identifier that <a href="/en-US/docs/Gecko_user_agent_string_reference#Mobile_and_Tablet_indicators" title="en-US/docs/Gecko_user_agent_string_reference#Mobile_and_Tablet_indicators">lets the server know if the Firefox accessing it is a phone or a tablet</a>.</li> +</ul> +<h3 id="Developer_tools">Developer tools</h3> +<ul> + <li>The <a href="/en-US/docs/Tools/Page_Inspector" title="Page Inspector">Page Inspector</a> now offers a <a href="/en-US/docs/Tools/Page_Inspector/3D_view" title="3D view">3D view</a> if your system supports <a href="/en-US/docs/WebGL" title="WebGL">WebGL</a>.</li> + <li>The new <a href="/en-US/docs/Tools/Style_Editor" title="Style Editor">Style Editor</a> provides a free-form way to edit and compose CSS style sheets in real-time.</li> + <li>The <a href="/en-US/docs/View_source" title="https://developer.mozilla.org/en-US/docs/View_source">View Source feature</a> now uses the new HTML5 parser instead of the old HTML parser.</li> +</ul> +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> +<h3 id="JavaScript_code_modules">JavaScript code modules</h3> +<h4 id="NetUtil.jsm">NetUtil.jsm</h4> +<ul> + <li><a href="/en-US/docs/JavaScript_code_modules/NetUtil.jsm#readInputStreamToString()" title="en-US/docs/JavaScript_code_modules/NetUtil.jsm#readInputStreamToString()"><code>readInputStreamToString()</code></a> has a new, optional, parameter to configure the character set interpretation while reading the input stream.</li> +</ul> +<h4 id="New_JavaScript_code_modules">New JavaScript code modules</h4> +<dl> + <dt> + <a href="/en-US/docs/JavaScript_code_modules/source-editor.jsm" title="source-editor.jsm"><code>source-editor.jsm</code></a></dt> + <dd> + Provides a convenient, easy-to-use source code editor that you can use in your add-ons. This is the same editor used by <a href="/en-US/docs/Tools/Scratchpad" title="Scratchpad">Scratchpad</a> and other developer tools integrated into Firefox.</dd> +</dl> +<h3 id="Interface_changes">Interface changes</h3> +<ul> + <li>The {{interface("mozIAsyncHistory")}} interface has a new method {{ifmethod("mozIAsyncHistory","isURIVisited")}} to check if a URI has been visited.</li> + <li>A new interface {{interface("mozIVisitStatusCallback")}} has been added to provide callback handling functionality for {{ifmethod("mozIAsyncHistory","isURIVisited")}}.</li> + <li>The {{interface("nsIMacDockSupport")}} interface now supports adding a text badge to the application's icon in the Dock using its new <code>badgeText</code> attribute.</li> + <li>In the {{interface("nsINavHistoryResultObserver")}} interface, you now need to implement {{ifmethod("nsINavHistoryResultObserver", "containerStateChanged")}} instead of the obsolete <code>containerOpened()</code> and <code>containerClosed()</code> methods.</li> +</ul> +<h4 id="Removed_interfaces">Removed interfaces</h4> +<p>The following interfaces were implementation details that are no longer needed:</p> +<ul> + <li>{{interface("nsICharsetResolver")}}</li> + <li>{{interface("nsIDOMNSElement")}}, see <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=707576" title="https://bugzilla.mozilla.org/show_bug.cgi?id=707576">bug707576</a>, use {{interface("nsIDOMElement")}} instead.</li> +</ul> +<h3 id="Theme-related_changes">Theme-related changes</h3> +<ul> + <li>The <code>omni.jar</code> file is now called <a href="/en-US/docs/Mozilla/About_omni.ja_(formerly_omni.jar)" title="en-US/docs/Mozilla/About_omni.ja_%28formerly_omni.jar%29"><code>omni.ja</code></a>.</li> +</ul> +<h3 id="Preference_changes">Preference changes</h3> +<dl> + <dt> + {{Pref("ui.tooltipDelay")}}</dt> + <dd> + Specifies the delay, in milliseconds, between the mouse cursor beginning to hover and the display of a tooltip.</dd> +</dl> +<h3 id="Build_system_changes">Build system changes</h3> +<ul> + <li>The <code>--enable-tracejit</code> build option has been removed.</li> +</ul> +<h3 id="Other_changes">Other changes</h3> +<ul> + <li>Add-ons that have not been updated in a long time are no longer assumed to be compatible by default; this is currently add-ons that indicate a <code>maxVersion</code> of 4.0.</li> +</ul> +<h2 id="See_also">See also</h2> +<div> + {{Firefox_for_developers('10')}}</div> diff --git a/files/zh-tw/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html b/files/zh-tw/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html new file mode 100644 index 0000000000..79a12bae1d --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/2/adding_feed_readers_to_firefox/index.html @@ -0,0 +1,36 @@ +--- +title: 新增消息來源閱讀工具 +slug: Mozilla/Firefox/Releases/2/Adding_feed_readers_to_Firefox +translation_of: Mozilla/Firefox/Releases/2/Adding_feed_readers_to_Firefox +--- +<div>{{FirefoxSidebar}}</div><p>從 Firefox 2 起,消息來源(feed)可選用不同的 RSS 或 Atom 閱讀工具訂閱。這份文件提供新增其他閱讀程式支援的方法。 +</p> +<h2 id="新增_Web_版閱讀工具">新增 Web 版閱讀工具</h2> +<p>新增 Web 版閱讀工具需要三個設定: +</p> +<dl><dt> <code>browser.contentHandlers.types.<i>number</i>.title</code> +</dt><dd> 閱讀程式的名稱。 +</dd><dt> <code>browser.contentHandlers.types.<i>number</i>.type</code> +</dt><dd> 這部份必須設定為「application/vnd.mozilla.maybe.feed」。 +</dd><dt> <code>browser.contentHandlers.types.<i>number</i>.uri</code> +</dt><dd> 閱讀程式的 URI。其中以「%s」標示消息來源 URL 必須插入的地方。 +</dd></dl> +<p><code><i>number</i></code> 應該替換成尚未使用的最小自然數。舉例來說,如果要新增一個名為「Easy Reader」的閱讀工具、且目前 0 到 4 皆已使用,則應將 <code><i>number</i></code> 設定為 5,如下: +</p> +<ul><li> <code>browser.contentHandlers.types.5.title</code>: Easy Reader +</li><li> <code>browser.contentHandlers.types.5.type</code>: application/vnd.mozilla.maybe.feed +</li><li> <code>browser.contentHandlers.types.5.uri</code>: <span class="nowiki">http://www.theeasyreaderurl.com?feed=%s</span> +</li></ul> +<p>你可以用 <tt>about:config</tt> 手動加入這些設定,如果擴充套件要新增閱讀工具則亦可寫程式修改之。 +</p> +<h3 id="從_Web_應用程式新增閱讀工具">從 Web 應用程式新增閱讀工具</h3> +<p>使用 JavaScript 也可輕易新增消息來源的閱讀工具,只要用 <code>navigator.registerContentHandler()</code> 函式即可,如下: +</p> +<pre>navigator.registerContentHandler("application/vnd.mozilla.maybe.feed", + "http://www.theeasyreaderurl.com?feed=%s", + "Easy Reader"); +</pre> +<h2 id="新增本機閱讀程式">新增本機閱讀程式</h2> +<p>新增本機閱讀程式時,最簡單的方式便是使用「選項」(或「偏好設定」,名稱視作業系統而定)的「消息來源」面板直接添加。 +</p><p>當然也可以用擴充套件,改以程式方式新增閱讀程式。只要將<code>browser.feeds.handlers.application</code> 設定為閱讀程式的路徑即可。 +</p>{{ languages( { "en": "en/Adding_feed_readers_to_Firefox", "es": "es/A\u00f1adir_lectores_de_canales_a_Firefox", "ja": "ja/Adding_feed_readers_to_Firefox" } ) }} diff --git a/files/zh-tw/mozilla/firefox/releases/2/index.html b/files/zh-tw/mozilla/firefox/releases/2/index.html new file mode 100644 index 0000000000..a68f4fcbac --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/2/index.html @@ -0,0 +1,89 @@ +--- +title: Firefox 2 技術文件 +slug: Mozilla/Firefox/Releases/2 +translation_of: Mozilla/Firefox/Releases/2 +--- +<div>{{FirefoxSidebar}}</div><h2 id="Firefox_2_的開發相關特色">Firefox 2 的開發相關特色</h2> +<p>Firefox 2 有許多新的特色及功能,本文提供各項新特色的相關文章連結。 +</p> +<h3 id="給網頁設計師及開發者">給網頁設計師及開發者</h3> +<dl><dt> <a class="external" href="http://wiki.mozilla.org/Microsummaries">即時摘要</a> +</dt><dd> 即時摘要能定期顯示網頁中的關鍵訊息。網站或其他第三方開發者都能提供即時摘要來源,而後使用者能選擇在書籤上顯示即時摘要或網頁標題。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%a3%bd%e4%bd%9c%e5%8d%b3%e6%99%82%e6%91%98%e8%a6%81">製作即時摘要</a> +</dt><dd> 即時摘要來源的製作教學。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e5%8d%b3%e6%99%82%e6%91%98%e8%a6%81_XML_%e8%aa%9e%e6%b3%95%e5%8f%83%e8%80%83">即時摘要 XML 語法參考</a> +</dt><dd> 即時摘要來源之 XML 語法參考指南。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%a3%bd%e4%bd%9c_OpenSearch_%e6%90%9c%e5%b0%8b%e6%a8%a1%e7%b5%84">製作 OpenSearch 搜尋模組</a> +</dt><dd> Firefox 2 支援 OpenSearch 搜尋模組格式。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%a3%bd%e4%bd%9c_MozSearch_%e6%90%9c%e5%b0%8b%e6%a8%a1%e7%b5%84">製作 MozSearch 搜尋模組</a> +</dt><dd> Firefox 2 支援擴充版的 OpenSearch 格式,名為 MozSearch。但此非標準,故僅建議用於程式內部。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%ae%93%e6%90%9c%e5%b0%8b%e6%a8%a1%e7%b5%84%e6%94%af%e6%8f%b4%e6%90%9c%e5%b0%8b%e5%bb%ba%e8%ad%b0">讓搜尋模組支援搜尋建議</a> +</dt><dd> 讓你的 MozSearch 模組支援搜尋建議功能,此功能將於搜尋欄中以下拉選單顯示建議關鍵字。 +</dd></dl> +<dl><dt> <a href="zh_tw/JavaScript_1.7_%e6%96%b0%e5%8a%9f%e8%83%bd">JavaScript 1.7 新功能</a> +</dt><dd> Firefox 2 支援 JavaScript 1.7,包含新的 <code>let</code> 表達式、跨結構指定(destructuring assignment)、產生器 (generators)、迴圈器 (iterators) 和陣列簡約式 (array comprehensions)。 +</dd></dl> +<dl><dt> <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/#scs-client-side">WHATWG 於用戶端儲存工作階段資料</a> +</dt><dd> 於用戶端儲存工作階段資料技術可讓網路應用程式於用戶端儲存結構化資料。 +</dd></dl> +<dl><dt> <a href="zh_tw/Firefox_%e4%b8%ad%e7%9a%84_SVG">Firefox 中的 SVG</a> +</dt><dd> Firefox 2 提升支援 Scalable Vector Graphics (SVG) 的程度,實作了 <code><textPath></code> 元素、也開始支援某些從前無法妥善處理的屬性。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e6%8e%a7%e5%88%b6_HTML_%e8%a1%a8%e5%96%ae%e4%b8%ad%e7%9a%84%e6%8b%bc%e5%ad%97%e6%aa%a2%e6%9f%a5%e5%8a%9f%e8%83%bd">控制 HTML 表單中的拼字檢查功能</a> +</dt><dd> Firefox 2 支援文字輸入區的即時拼字檢查,本文描述撰寫 HTML 表單元素時啟用或停用此功能的方法。 +</dd></dl> +<dl><dt> <a href="zh_tw/Firefox_2_%e7%9a%84%e5%ae%89%e5%85%a8%e5%8a%9f%e8%83%bd">Firefox 2 的安全功能</a> +</dt><dd> 某些與安全相關之協定的預設啟用情形,在 Firefox 2 有了更動。 +</dd></dl> +<h3 id="給_XUL_與擴充套件開發者">給 XUL 與擴充套件開發者</h3> +<dl><dt> <a href="zh_tw/%e8%ae%93%e6%93%b4%e5%85%85%e5%a5%97%e4%bb%b6%e5%8d%87%e7%b4%9a%e8%87%b3_Firefox_2">讓擴充套件升級至 Firefox 2</a> +</dt><dd> 描述讓現有擴充套件升級以便支援 Firefox 2 的方法。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%b7%a8%e9%80%a3%e7%b7%9a%e5%84%b2%e5%ad%98_API">跨連線儲存 (Session store) API</a> +</dt><dd> Firefox 現在支援跨連線 (Session) 儲存或復原資料。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e6%b6%88%e6%81%af%e4%be%86%e6%ba%90%e5%85%a7%e5%ae%b9%e5%ad%98%e5%8f%96_API">消息來源內容存取 API</a> +</dt><dd> 讓開發者存取、解析 RSS 或 Atom 消息來源的 API。 +</dd></dl> +<dl><dt> <a href="zh_tw/SAX">SAX 支援</a> +</dt><dd> 事件驅動式的 XML 解析 API。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e8%87%aa%e7%b6%b2%e9%a0%81%e6%b7%bb%e5%8a%a0%e6%90%9c%e5%b0%8b%e5%bc%95%e6%93%8e">自網頁添加搜尋引擎</a> +</dt><dd> Firefox 能以 JavaScript 新增搜尋引擎模組,模組可為 OpenSearch 或 Sherlock 格式。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e6%96%bc_XUL_%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%8b%bc%e5%ad%97%e6%aa%a2%e6%9f%a5">於 XUL 中使用拼字檢查</a> +</dt><dd> 如何使用拼字檢查功能及怎樣取得建議拼字清單的程式碼。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e6%96%b0%e5%a2%9e%e5%81%bd%e9%80%a0%e7%b6%b2%e7%ab%99%e6%b8%85%e5%96%ae%e4%be%86%e6%ba%90">新增偽造網站清單來源</a> +</dt><dd> Firefox 可以新增額外的詐騙網站資料來源,藉此提升偵測偽造網站的能力。 +</dd></dl> +<dl><dt> <a href="zh_tw/%e6%96%b0%e5%a2%9e%e6%b6%88%e6%81%af%e4%be%86%e6%ba%90%e9%96%b1%e8%ae%80%e5%b7%a5%e5%85%b7">新增消息來源閱讀工具</a> +</dt><dd> 你可以用網頁或程式新增 Firefox 的消息來源閱讀工具。 +</dd></dl> +<dl><dt> <a href="zh_tw/Storage">Storage</a> +</dt><dd> Firefox 2 新增 mozStorage 功能,為基於 sqlite 的資料庫結構。 +</dd></dl> +<dl><dt> <a href="zh_tw/Firefox_2_%e4%bd%88%e6%99%af%e4%b8%bb%e9%a1%8c%e4%b9%8b%e6%9b%b4%e5%8b%95">Firefox 2 佈景主題之更動</a> +</dt><dd> 討論現有佈景主題更新以便支援 Firefox 2 的方法。 +</dd></dl> +<h2 id="給廣大使用者的新功能">給廣大使用者的新功能</h2> +<p>Firefox 2 提供比上個版本更簡潔的操作介面,強化的安全隱私保護,讓您上網更安全方便。 +</p> +<h3 id="使用操作體驗">使用操作體驗</h3> +<ul><li> <b>文字欄內拼字檢查</b> 讓你在填寫表單時更安心。 +</li><li> <b>即時摘要 (Microsummaries)</b> 提供另一種書籤顯示的方式,可以用網頁上的某段文字作為書籤標題,並自動更新以監視最新動態。這對股票族、網拍狂等非常有用。 +</li><li> <b>擴充套件管理員操作介面</b> 更友善。 +</li><li> <b>搜尋引擎管理員</b> 讓你可以重新排列順序或移除搜尋欄中的搜尋引擎。 +</li><li> <b>強化的分頁瀏覽</b> 在每個分頁上加入了關閉鈕、調整了關閉分頁後的切換行為及簡化的分頁選項。 +</li><li> <b>自動偵測搜尋引擎</b> 可讓你瀏覽到提供搜尋引擎的網站時直接安裝該引擎。 +</li><li> <b>搜尋建議</b> 會在你於搜尋欄中搜尋時,即時提供搜尋建議。 +</li></ul> +<h3 id="安全隱私保護">安全隱私保護</h3> +<ul><li> <b>詐騙網站防護</b> 會在你瀏覽偽造網站時發出警告。 +</li></ul> +{{ languages( { "ca": "ca/Firefox_2_per_a_desenvolupadors", "es": "es/Firefox_2_para_desarrolladores", "en": "en/Firefox_2_for_developers", "fr": "fr/Firefox_2_pour_les_d\u00e9veloppeurs", "it": "it/Firefox_2.0_per_Sviluppatori", "ja": "ja/Firefox_2_for_developers", "ko": "ko/Firefox_2_for_developers", "pl": "pl/Firefox_2_dla_programist\u00f3w", "pt": "pt/Firefox_2_para_desenvolvedores" } ) }} diff --git a/files/zh-tw/mozilla/firefox/releases/2/security_changes/index.html b/files/zh-tw/mozilla/firefox/releases/2/security_changes/index.html new file mode 100644 index 0000000000..d0a4b7ad5a --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/2/security_changes/index.html @@ -0,0 +1,29 @@ +--- +title: Firefox 2 的安全功能 +slug: Mozilla/Firefox/Releases/2/Security_changes +tags: + - 安全性 + - 待翻譯 +translation_of: Mozilla/Firefox/Releases/2/Security_changes +--- +<div>{{FirefoxSidebar}}</div><p>本文探討 Firefox 2 與安全性相關的變動。</p> + +<h2 id=".E4.B8.8D.E5.A4.A0.E5.AE.89.E5.85.A8.E7.9A.84.E7.B7.A8.E7.A2.BC.E6.96.B9.E5.BC.8F.E7.9A.86.E9.A0.90.E8.A8.AD.E9.97.9C.E9.96.89" name=".E4.B8.8D.E5.A4.A0.E5.AE.89.E5.85.A8.E7.9A.84.E7.B7.A8.E7.A2.BC.E6.96.B9.E5.BC.8F.E7.9A.86.E9.A0.90.E8.A8.AD.E9.97.9C.E9.96.89">不夠安全的編碼方式皆預設關閉</h2> + +<p><a href="zh_tw/Firefox_2">Firefox 2</a> 預設停用 SSLv2 及不夠安全的「export」編碼方式(金鑰長度小於 64 位元),改以 SSLv3 替代,這樣可以提高安全性。</p> + +<p>偏好的編碼方式為 <code>TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</code> 及 <code>TLS_RSA_WITH_3DES_EDE_CBC_SHA</code>。有些伺服器則稱為 <code>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</code> 及 <code>SSL_RSA_WITH_3DES_EDE_CBC_SHA</code>。</p> + +<p>若 SSLv2 必須開啟,則可以將各項以 <code>security.ssl2.*</code> 開頭的使用偏好設定為 <code>true</code>。</p> + +<h2 id=".E6.96.B0.E7.89.B9.E8.89.B2" name=".E6.96.B0.E7.89.B9.E8.89.B2">新特色</h2> + +<ul> + <li>Firefox 2 支援 TLS 下的<a class="external" href="http://zh.wikipedia.org/wiki/%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF%E5%AF%86%E7%A0%81%E5%AD%A6">橢圓曲線密碼</a>。目前限於 256、384 及 521 位元(是 521 沒錯)。</li> + <li>Firefox 2 支援「TLS 伺服器名稱指示套件」(TLS server name indication extension)。「TLS 伺服器名稱指示套件」能用於在同一個網路位置(Network Address)中存在多個虛擬伺服器時建立安全連線,進一步的內容請參考「<a class="external" href="http://tools.ietf.org/html/rfc3546" title="http://tools.ietf.org/html/rfc3546">RFC 3546</a>」。</li> + <li>當 Firefox 2 傳送一個 <a class="external" href="http://en.wikipedia.org/wiki/Ocsp">OCSP</a> 請求到有效的網頁伺服器認證時,Firefox 會直接連線到該伺服器,而不會使用代理伺服器(Proxy Sever)。</li> +</ul> + +<h2 id=".E9.96.8B.E5.95.9F.E8.88.87.E9.97.9C.E9.96.89.E7.B7.A8.E7.A2.BC.E6.96.B9.E5.BC.8F" name=".E9.96.8B.E5.95.9F.E8.88.87.E9.97.9C.E9.96.89.E7.B7.A8.E7.A2.BC.E6.96.B9.E5.BC.8F">開啟與關閉編碼方式</h2> + +<p>透過在 URL 上打上 about:config,並且篩選 "ssl" 或 "tls",你可以得知 Firefox 2 支援哪些加密編碼,並且開啟或關閉這些加密方式。</p> diff --git a/files/zh-tw/mozilla/firefox/releases/3.6/index.html b/files/zh-tw/mozilla/firefox/releases/3.6/index.html new file mode 100644 index 0000000000..f053267778 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/3.6/index.html @@ -0,0 +1,301 @@ +--- +title: Firefox 3.6 技術文件 +slug: Mozilla/Firefox/Releases/3.6 +translation_of: Mozilla/Firefox/Releases/3.6 +--- +<div><section class="Quick_links" id="Quick_Links"> + <ol> + <li class="toggle"> + <details> + <summary>Firefox developer release notes</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Releases">Firefox developer release notes</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>擴充套件</summary> + <ol> + <li><a href="/zh-TW/Add-ons/WebExtensions">瀏覽器擴充功能</a></li> + <li><a href="/zh-TW/Add-ons/Themes">主題</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Firefox internals</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/">Mozilla project</a></li> + <li><a href="/zh-TW/docs/Mozilla/Gecko">Gecko</a></li> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Headless_mode">Headless mode</a></li> + <li><a href="/zh-TW/docs/Mozilla/JavaScript_code_modules">JavaScript 程式碼模組</a></li> + <li><a href="/zh-TW/docs/Mozilla/js-ctypes">JS-ctypes</a></li> + <li><a href="/zh-TW/docs/Mozilla/MathML_Project">MathML 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/MFBT">MFBT</a></li> + <li><a href="/zh-TW/docs/Mozilla/Projects">Mozilla 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/Preferences">Preference system</a></li> + <li><a href="/zh-TW/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XPCOM">XPCOM</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XUL">XUL</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Building and contributing</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions">建置教學</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuring build options</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">How the build system works</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Mozilla 原始碼</a></li> + <li><a href="/zh-TW/docs/Mozilla/Localization">在地化</a></li> + <li><a href="/zh-TW/docs/Mozilla/Mercurial">Mercurial</a></li> + <li><a href="/zh-TW/docs/Mozilla/QA">Quality assurance</a></li> + <li><a href="/zh-TW/docs/Mozilla/Using_Mozilla_code_in_other_projects">在我們的專案中使用 Mozilla 程式碼</a></li> + </ol> + </details> + </li> + </ol> +</section></div><p><a class="external" href="http://www.firefox.com/" title="http://www.firefox.com/">Firefox 3.6</a> offers support for new and developing web standards, increased performance, and an overall better experience for web users and developers. This page provides links to articles covering the new capabilities of Firefox 3.6.</p> + +<h2 id="For_web_site_and_application_developers">For web site and application developers</h2> + +<h3 id="CSS">CSS</h3> + +<dl> + <dt><a href="/en-US/docs/CSS/Using_CSS_gradients" title="en-US/docs/Using gradients">Using gradients</a></dt> + <dd>Firefox 3.6 adds support for the proposed <a href="/zh-TW/docs/Web/CSS/-moz-linear-gradient" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-linear-gradient</code></a> and <a href="/zh-TW/docs/Web/CSS/-moz-radial-gradient" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-radial-gradient</code></a> properties for <a href="/zh-TW/docs/Web/CSS/background" title="The documentation about this has not yet been written; please consider contributing!"><code>background</code></a>.</dd> + <dt><a href="/en-US/docs/CSS/Multiple_backgrounds" title="en-US/docs/CSS/Multiple backgrounds">Multiple backgrounds</a></dt> + <dd>The <a href="/zh-TW/docs/Web/CSS/background" title="The documentation about this has not yet been written; please consider contributing!"><code>background</code></a> property (as well as <a href="/zh-TW/docs/Web/CSS/background-color" title="background-color CSS property 是用來設定HTML元素的背景顏色,值可以是顏色亦可以是特定關鍵字-- transparent."><code>background-color</code></a>, <a href="/zh-TW/docs/Web/CSS/background-image" title="The documentation about this has not yet been written; please consider contributing!"><code>background-image</code></a>, <a href="/zh-TW/docs/Web/CSS/background-position" title="The documentation about this has not yet been written; please consider contributing!"><code>background-position</code></a>, <a href="/zh-TW/docs/Web/CSS/background-repeat" title="The documentation about this has not yet been written; please consider contributing!"><code>background-repeat</code></a>, and <a href="/zh-TW/docs/Web/CSS/background-attachment" title="The documentation about this has not yet been written; please consider contributing!"><code>background-attachment</code></a>) now supports multiple backgrounds. This lets you specify multiple backgrounds that are rendered atop one another in layers.</dd> + <dt><a href="/en-US/docs/CSS/Media_queries#Mozilla-specific_media_features" title="en-US/docs/CSS/Media queries#Mozilla-specific media features">Mozilla-specific media features</a></dt> + <dd>Media features have been added for Mozilla-specific system metrics, so that <a href="/en-US/docs/CSS/Media_queries" title="en-US/docs/CSS/Media queries">media queries</a> can be used to more safely check on the availability of features such as touch support.</dd> + <dt><a href="/en-US/docs/CSS/Scaling_background_images" title="en-US/docs/CSS/Scaling background images">Scaling background images</a></dt> + <dd>The <code>background-size </code>property from the <a class="external" href="http://dev.w3.org/csswg/css3-background/" title="http://dev.w3.org/csswg/css3-background/#the-background-size-property">CSS 3 Backgrounds and Borders draft</a> is now supported under the name <a href="/zh-TW/docs/Web/CSS/-moz-background-size" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-background-size</code></a>.</dd> + <dt><a href="/en-US/docs/WOFF" title="en-US/docs/About WOFF">WOFF font support</a></dt> + <dd><a href="/zh-TW/docs/Web/CSS/@font-face" title="The @font-face CSS at-rule allows authors to specify online fonts to display text on their web pages. By allowing authors to provide their own fonts, @font-face eliminates the need to depend on the limited number of fonts users have installed on their computers. The @font-face at-rule may be used not only at the top level of a CSS, but also inside any CSS conditional-group at-rule."><code>@font-face</code></a> now supports the WOFF downloadable font file format.</dd> + <dt><a href="/en-US/docs/CSS/pointer-events" title="en-US/docs/CSS/pointer-events">Pointer events</a></dt> + <dd>The <a href="/zh-TW/docs/Web/CSS/pointer-events" title="The documentation about this has not yet been written; please consider contributing!"><code>pointer-events</code></a> property lets content specify whether or not an element may be the target of mouse pointer events.</dd> +</dl> + +<h4 id="Miscellaneous_CSS_changes">Miscellaneous CSS changes</h4> + +<ul> + <li>The <a href="/en-US/docs/CSS/length#Relative_length_units" title="en-US/docs/CSS/length#Relative length units"><code>rem</code></a> length unit from <a class="external" href="http://www.w3.org/TR/css3-values/#lengths" title="http://www.w3.org/TR/css3-values/#lengths">CSS3 Values and Units</a> is now supported. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=472195" title="FIXED: support css3 root em ('rem' or 're') units">bug 472195</a></li> + <li><a href="/zh-TW/docs/Web/CSS/image-rendering" title="The documentation about this has not yet been written; please consider contributing!"><code>image-rendering</code></a> is supported for images, background images, videos and canvases. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=423756" title="FIXED: Request: Switch for authors to turn on/off bilinear filtering when enlarging images">bug 423756</a></li> + <li><a href="/zh-TW/docs/Web/CSS/text-align" title="The documentation about this has not yet been written; please consider contributing!"><code>text-align</code></a>:end is now supported. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=299837" title="FIXED: [FIX]add support for text-align: end">bug 299837</a></li> + <li>DOM changes to elements using the table <a href="/zh-TW/docs/Web/CSS/display" title="The documentation about this has not yet been written; please consider contributing!"><code>display</code></a> types now work much better.</li> + <li>Added <a href="/zh-TW/docs/Web/CSS/:-moz-locale-dir(ltr)" title="The documentation about this has not yet been written; please consider contributing!"><code>:-moz-locale-dir(ltr)</code></a> and <a href="/zh-TW/docs/Web/CSS/:-moz-locale-dir(rtl)" title="The documentation about this has not yet been written; please consider contributing!"><code>:-moz-locale-dir(rtl)</code></a> to make it easier to customize layouts based on whether the user interface is being displayed using a left-to-right or a right-to-left locale. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=478416" title="FIXED: Replace chromedir with something more sane">bug 478416</a></li> + <li>Added support for the <a href="/zh-TW/docs/Web/CSS/:indeterminate" title="The documentation about this has not yet been written; please consider contributing!"><code>:indeterminate</code></a> pseudo-class, which matches <code>checkbox</code> <a class="internal" href="/en-US/docs/HTML/Element/Input" title="en-US/docs/HTML/Element/input"><code>input</code></a> elements whose <code>indeterminate</code> attribute is <code>true</code>.</li> + <li>Windowed plugins are no longer displayed in CSS transforms, because they can't be transformed properly by the compositor.</li> +</ul> + +<h3 id="HTML">HTML</h3> + +<dl> + <dt><a href="/en-US/docs/Using_files_from_web_applications" title="en-US/docs/Using files from web applications">Using files from web applications</a></dt> + <dd>Support for the new HTML5 File API has been added to Gecko, making it possible for web applications to access local files selected by the user. This includes support for selecting multiple files using the <code>input type="file"</code> HTML element's new <code>multiple</code> attribute.</dd> + <dt>HTML5 video supports poster frames</dt> + <dd>The <code>poster</code> attribute is now supported for the <a class="internal" href="/en-US/docs/HTML/Element/Video" title="en-US/docs/HTML/Element/Video"><code>video</code></a> element, allowing content to specify a poster frame to be displayed until the video begins to play.</dd> + <dt>Checkboxes and radio buttons support the <code>indeterminate</code> property</dt> + <dd>HTML <a class="internal" href="/en-US/docs/HTML/Element/Input" title="en-US/docs/HTML/Element/input"><code>input</code></a> elements of types <code>checkbox</code> and <code>radio</code> now support the indeterminate property, which allows a third, "indeterminate" state.</dd> + <dt>Canvas image smoothing can be controlled</dt> + <dd>The new <a class="internal" href="/en-US/docs/Canvas_tutorial/Using_images#Controlling_image_scaling_behavior" title="en-US/docs/Canvas tutorial/Using images#Controlling image scaling behavior"><code>mozImageSmoothingEnabled</code></a> property can be used to turn on and off image smoothing when scaling in <a class="internal" href="/en-US/docs/HTML/Element/canvas" title="en-US/docs/HTML/Element/canvas"><code>canvas</code></a> elements.</dd> + <dt>Asynchronous script execution</dt> + <dd>By setting the <code>async</code> attribute on a <a href="/en-US/docs/HTML/Element/Script" title="en-US/docs/HTML/Element/Script"><code>script</code></a> element, the <code>script</code> will not block loading or display of the rest of the page. Instead the <code>script</code> executes as soon as it is downloaded.</dd> +</dl> + +<h3 id="JavaScript">JavaScript</h3> + +<p>Gecko 1.9.2 introduces JavaScript 1.8.2, which adds a number of language features from the <a href="/en-US/docs/JavaScript/ECMAScript_5_support_in_Mozilla" title="https://developer.mozilla.org/en-US/docs/JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5 standard</a>:</p> + +<ul> + <li><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse" title="en-US/docs/Core JavaScript 1.5 Reference/Global Objects/Date/parse"><code>Date.parse()</code></a> can now parse ISO 8601 dates like YYYY-MM-DD.</li> + <li> + <p>The <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Function/prototype" title="en-US/docs/Core JavaScript 1.5 Reference/Global Objects/Function/prototype"><code>prototype</code></a> property of function instances is no longer enumerable.</p> + </li> +</ul> + +<dl> +</dl> + +<h3 id="DOM">DOM</h3> + +<dl> + <dt>Web workers can now self-terminate</dt> + <dd><a href="/en-US/docs/DOM/Using_web_workers" title="en-US/docs/Using web workers">Workers</a> now support the <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIWorkerScope#close()">nsIWorkerScope.close()</a></code> method, which allows them to terminate themselves.</dd> + <dt>Drag and drop now supports files</dt> + <dd>The <a href="/en-US/docs/DragDrop/DataTransfer" title="en-US/docs/DragDrop/DataTransfer"><code>DataTransfer</code></a> object provided to drag listeners now includes a list of files that were dragged.</dd> + <dt>Checking to see if an element matches a specified CSS selector</dt> + <dd>The new <a href="/zh-TW/docs/Web/API/Node/mozMatchesSelector" title="The documentation about this has not yet been written; please consider contributing!"><code>element.mozMatchesSelector</code></a> method lets you determine whether or not an element matches a specified CSS selector. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=518003" title="FIXED: implement function to check whether element matches a CSS selector">bug 518003</a>.</dd> + <dt><a href="/en-US/docs/Detecting_device_orientation" title="en-US/docs/Detecting device orientation">Detecting device orientation</a></dt> + <dd>Content can now detect the orientation of the device if it has a supported accelerometer, using the <a href="/en-US/docs/DOM/MozOrientation" title="en-US/docs/DOM/MozOrientation"><code>MozOrientation</code></a> event. Firefox 3.6 supports the accelerometer in Mac laptops.</dd> + <dt><a href="/en-US/docs/DOM/Detecting_document_width_and_height_changes" title="en-US/docs/DOM/Detecting document width and height changes">Detecting document width and height changes</a></dt> + <dd>The new <code>MozScrollAreaChanged</code> event is dispatched whenever the document's <code>scrollWidth</code> and/or <code>scrollHeight</code> properties change.</dd> +</dl> + +<h4 id="Miscellaneous_DOM_changes">Miscellaneous DOM changes</h4> + +<ul> + <li>The <code>getBoxObjectFor()</code> method has been <strong>removed</strong>, as it was non-standard and exposed even more non-standard stuff to the web. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=340571" title="FIXED: getBoxObjectFor leaking-onto-the-Web disaster">bug 340571</a>. Also affects <a class="external" href="http://mootools.net/" title="http://mootools.net/">MooTools</a> which uses this call for Gecko detection; this has been fixed in the latest version of MooTools, so be sure to update.</li> + <li>The new <a class="internal" href="/en-US/docs/DOM/window.mozInnerScreenX" title="en-US/docs/DOM/window.mozInnerScreenX"><code>mozInnerScreenX</code></a> and <a class="internal" href="/en-US/docs/DOM/window.mozInnerScreenY" title="en-US/docs/DOM/window.mozInnerScreenY"><code>mozInnerScreenY</code></a> properties on DOM windows have been added; these return the screen coordinates of the top-left corner of the window's viewport.</li> + <li>The new <code>mozScreenPixelsPerCSSPixel</code> attribute on the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindowUtils" title="">nsIDOMWindowUtils</a></code> interface, accessible only to chrome, provides a conversion factor between CSS pixels and screen pixels; this value can vary based on the zoom level of the content.</li> + <li>When the page's URI's document fragment identifier (the part after the "#" (hash) character) changes, a new <code>hashchange</code> event is sent to the page. See <a class="internal" href="/en-US/docs/DOM/window.onhashchange" title="window.onhashchange">window.onhashchange</a> for more information. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=385434" title="FIXED: Add support for HTML5 onhashchange (event for named anchor changes)">bug 385434</a></li> + <li>The attribute <a class="internal" href="/en-US/docs/DOM/document.readyState" title="en-US/docs/DOM/document.readyState"><code>document.readyState</code></a> is now supported. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=347174" title='FIXED: Implement document.readystate == "complete"'>bug 347174</a></li> + <li>Support for HTML5's <code><a class="internal" href="/en-US/docs/DOM/element.classList" title="element.classList">element.classList</a></code> to allow easier handling of the class attribute. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=501257" title="FIXED: Implement HTML 5's HTMLElement.classList property">bug 501257</a></li> + <li><code>localName</code> and <code>namespaceURI</code> in HTML documents now behave like they do in XHTML documents: <code>localName</code> returns in lower case and <code>namespaceURI</code> for HTML elements is <code>"<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"</code>.</li> + <li><a href="/en-US/docs/DOM/element.getElementsByTagNameNS" title="en-US/docs/DOM/element.getElementsByTagNameNS"><code>element.getElementsByTagNameNS</code></a> no longer lowercases its argument, so upper-case ASCII letters in the argument make matches against HTML elements fail. The same is true for <a href="/en-US/docs/DOM/document.getElementsByTagNameNS" title="en-US/docs/DOM/document.getElementsByTagNameNS"><code>document.getElementsByTagNameNS</code></a>.</li> + <li>Support has been added for addresses in geolocation via the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMGeoPositionAddress" title="">nsIDOMGeoPositionAddress</a></code> interface and a new field added to <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMGeoPosition" title="">nsIDOMGeoPosition</a></code>.</li> + <li>The <a href="/zh-TW/docs/Web/API/Window/getComputedStyle" title="Window.getComputedStyle() 方法可以得到元素於套用啟用之樣式表以及解析其中可能包含的任何基本運算後的所有 CSS 屬性值。"><code>window.getComputedStyle</code></a> function now returns quotes within <code>url()</code> values.</li> +</ul> + +<h3 id="XPath">XPath</h3> + +<dl> + <dt>The choose() XPath method is now supported</dt> + <dd>The <a href="/en-US/docs/XPath/Functions/choose" title="en-US/docs/XPath/Functions/choose"><code>choose()</code></a> method is now supported by our implementation of <a href="/en-US/docs/XPath" title="en-US/docs/XPath">XPath</a>.</dd> +</dl> + +<h2 id="For_XUL_and_add-on_developers">For XUL and add-on developers</h2> + +<p>If you're an extension developer, you should start by reading <a class="internal" href="/en-US/docs/Updating_extensions_for_Firefox_3.6" title="en-US/docs/Updating extensions for Firefox 3.6">Updating extensions for Firefox 3.6</a>, which offers a helpful overview of what changes may affect your extension. Plug-in developers should read <a class="internal" href="/en-US/docs/Updating_plug-ins_for_Firefox_3.6" title="en-US/docs/Updating plug-ins for Firefox 3.6">Updating plug-ins for Firefox 3.6</a>.</p> + +<h3 id="New_features">New features</h3> + +<dl> + <dt><a href="/en-US/docs/Detecting_device_orientation" title="en-US/docs/Detecting device orientation">Detecting device orientation</a></dt> + <dd>Content can now detect the orientation of the device if it has a supported accelerometer, using the <a href="/en-US/docs/DOM/MozOrientation" title="en-US/docs/DOM/MozOrientation"><code>MozOrientation</code></a> event. Firefox 3.6 supports the accelerometer in Mac laptops.</dd> + <dt><a href="/en-US/docs/Monitoring_HTTP_activity" title="en-US/docs/Monitoring HTTP activity">Monitoring HTTP activity</a></dt> + <dd>You can now monitor HTTP transactions to observe requests and responses in real time.</dd> + <dt><a href="/en-US/docs/Working_with_the_Windows_taskbar" title="en-US/docs/Working with the Windows taskbar">Working with the Windows taskbar</a></dt> + <dd>It's now possible to customize the appearance of windows in the taskbar in Windows 7 or later. <em>This has been disabled by default in Firefox 3.6.</em></dd> +</dl> + +<h3 id="Places">Places</h3> + +<ul> + <li>Places queries can now use the <code>redirectsMode</code> attribute on the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryOptions" title="">nsINavHistoryQueryOptions</a></code> interface to specify whether or not to include redirected pages in results.</li> + <li>Added the new <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIFaviconService#expireAllFavicons()">nsIFaviconService.expireAllFavicons()</a></code> method to the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFaviconService" title="">nsIFaviconService</a></code> interface.</li> +</ul> + +<h3 id="Storage">Storage</h3> + +<dl> + <dt><a href="/en-US/docs/Storage#Collation_(sorting)" title="en-US/docs/Storage#Collation (sorting)">Locale-aware collation of data is now supported by the Storage API</a></dt> + <dd>Gecko 1.9.2 added several new collation methods to provide optimized collation (sorting) of results using locale-aware techniques.</dd> + <dt><a href="/en-US/docs/mozIStorageStatementParams#Enumeration_of_properties" title="en-US/docs/mozIStorageStatementParams#Enumeration of properties">Properties on a statement can now be enumerated</a></dt> + <dd>You can now use a <code><a class="internal" href="/en-US/docs/JavaScript/Reference/Statements/for...in" title="en-US/docs/Core JavaScript 1.5 Reference/Statements/For...in">for..in</a></code> enumeration to enumerate all the properties on a statement.</dd> + <dt>mozIStorageStatement's getParameterIndex changed behavior between 3.5 and 3.6.</dt> + <dd>See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=528166" title="mozIStorageStatement getParameterIndex causes NS_ERROR_ILLEGAL_VALUE">bug 528166</a> for details.</dd> + <dt>Asynchronously bind multiple sets of parameters and execute a statement.</dt> + <dd>See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=490085" title="FIXED: Add ability to bind multiple sets of parameters and execute asynchronously">bug 490085</a> for details. Documentation coming soon.</dd> +</dl> + +<h3 id="Preferences">Preferences</h3> + +<ul> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code> interface has two new methods: <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIContentPrefService#getPrefsByName()">nsIContentPrefService.getPrefsByName()</a></code> and <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIContentPrefService#removePrefsByName()">nsIContentPrefService.removePrefsByName()</a></code>.</li> +</ul> + +<h3 id="Themes">Themes</h3> + +<p>See <a class="internal" href="/en-US/docs/Updating_themes_for_Firefox_3.6" title="en-US/docs/Updating themes for Firefox 3.6">Updating themes for Firefox 3.6</a> for a list of changes related to themes.</p> + +<dl> + <dt><a href="/en-US/docs/Themes/Lightweight_themes" title="en-US/docs/Themes/Lightweight themes">Lightweight themes</a></dt> + <dd>Firefox 3.6 supports lightweight themes; these are easy-to-create themes that simply apply a background to the top (URL bar and button bar) and bottom (status bar) of browser windows. This is an integration of the existing <a class="external" href="http://www.getpersonas.com/" title="http://www.getpersonas.com/">Personas</a> theme architecture into Firefox.</dd> +</dl> + +<h3 id="Miscellaneous">Miscellaneous</h3> + +<ul> + <li>Firefox will no longer load third-party components installed in its internal components directory. This helps to ensure stability by preventing buggy third-party components from being executed. Developers that install components this way must <a href="/en-US/docs/Migrating_raw_components_to_add-ons" title="en-US/docs/Migrating raw components to add-ons">repackage their components as XPI packages</a> so they can be installed as standard add-ons.</li> + <li><code>contents.rdf</code> is no longer supported for registering chrome in extensions. You must now use the <a class="internal" href="/en-US/docs/Install_Manifests" title="en-US/docs/Install manifests"><code>chrome.manifest</code></a> file instead. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=492008" title="FIXED: Drop support for contents.rdf chrome registrations">bug 492008</a>.</li> + <li>Added support for hiding the menu bar automatically. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=477256" title="FIXED: Implement menubar auto-hiding in toolkit">bug 477256</a>.</li> + <li>Added support for the <code>container-live-role</code> attribute to objects. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=391829" title="FIXED: Add support for container-live-role to object attributes">bug 391829</a>.</li> + <li>The <code>tabs-closebutton</code> binding has been removed. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=500971" title="FIXED: Remove obsolete tabs-closebutton binding">bug 500971</a>.</li> + <li>Added support to <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISound" title="">nsISound</a></code> for playing sounds based on events that have occurred. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=502799" title="FIXED: add new nsISound method for the event sounds">bug 502799</a>.</li> + <li>The syntax for the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITreeView" title="">nsITreeView</a></code> methods <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsITreeView#canDrop()">nsITreeView.canDrop()</a></code> and <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsITreeView#drop()">nsITreeView.drop()</a></code> has changed to support the new drag & drop API introduced in Gecko 1.9. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=455590" title="FIXED: Allow new dnd api with tree views">bug 455590</a>.</li> + <li>Added support to snap the mouse cursor to the default button of dialog or wizard on Windows, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=76053" title='FIXED: Windows mouse integration: "Snap to default button in dialog boxes"'>bug 76053</a>. This is processed automatically by dialog and wizard element. But if a XUL application creates a window using the <code>window</code> element and it has a default button, it needs to call <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIDOMChromeWindow#notifyDefaultButtonLoaded()">nsIDOMChromeWindow.notifyDefaultButtonLoaded()</a></code> during the window's <code>onload</code> event handler.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILocalFileMac" title="">nsILocalFileMac</a></code> interface has had two methods removed: <code>setFileTypeAndCreatorFromMIMEType()</code> and <code>setFileTypeAndCreatorFromExtension()</code>.</li> + <li>The new <a class="internal" href="/en-US/docs/JavaScript_code_modules/NetUtil.jsm" title="en-US/docs/JavaScript code modules/NetUtil.jsm"><code>NetUtils.jsm</code></a> code module provides an easy-to-use method for asynchronously copying data from an input stream to an output stream.</li> + <li>The new <a class="internal" href="/en-US/docs/JavaScript_code_modules/openLocationLastURL.jsm" title="en-US/docs/JavaScript code modules/openLocationLastURL.jsm"><code>openLocationLastURL.jsm</code></a> code module makes it easy to read and change the value of the "Open Location" dialog box's remembered URL while properly taking private browsing mode into account.</li> + <li>On Windows, the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIScreen" title="">nsIScreen</a></code> interface now reports 24 bit per pixel color depths when the graphics driver claims 32 bits, since 24 more accurately represents the actual number of color pixels in use.</li> + <li>Menu bars can now be hidden on Windows, using the new <code id="a-autohide"><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Attribute/autohide">autohide</a></code> attribute on the <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code> XUL element.</li> + <li>The <span id="m-loadOneTab"><code><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Method/loadOneTab">loadOneTab</a></code></span> and <span id="m-addTab"><code><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Method/addTab">addTab</a></code></span> methods now accept a new <code>relatedToCurrent</code> parameter and, in addition, allow the parameters to be specified by name, since nearly all of the parameters are optional.</li> + <li>The "<a href="/en-US/docs/Install_Manifests#hidden" title="en-US/docs/Install Manifests#hidden">hidden</a>" property is no longer supported in install manifests; it's no longer possible to prevent the user from seeing add-ons in the add-on manager window.</li> + <li>The <code>@mozilla.org/webshell;1</code> component no longer exists; you need to use <code>@mozilla.org/docshell;1</code> instead.</li> + <li>You can now register with the update-timer category to schedule timer events without having to instantiate the object that the timer will eventually call into; it will instead be instantiated when it's needed. See <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIUpdateTimerManager#registerTimer()">nsIUpdateTimerManager.registerTimer()</a></code> for details.</li> + <li>The <a href="/en-US/docs/NPN_GetValue" title="en-US/docs/NPN GetValue"><code>NPN_GetValue()</code></a> function no longer provides access to XPCOM through the variable values <code>NPNVserviceManager</code>, <code>NPNVDOMelement</code>, and <code>NPNVDOMWindow</code>. This is part of the work toward making plugins run in separate processes in a future version of Gecko.</li> + <li>Plugins are no longer scriptable through XPCOM (IDL) interfaces, <a href="/en-US/docs/Gecko_Plugin_API_Reference/Scripting_plugins" title="en-US/docs/Gecko Plugin API Reference:Scripting plugins">NPRuntime</a> is the API to use for making plugins scriptable, and <a href="/en-US/docs/NPP_GetValue" title="en-US/docs/NPP GetValue"><code>NPP_GetValue()</code></a> is no longer called to with the value <code>NPPVpluginScriptableInstance</code> or <code>NPPVpluginScriptableIID</code>. This is part of the work toward making plugins run in separate processes in a future version of Gecko.</li> +</ul> + +<h2 id="For_FirefoxGecko_developers">For Firefox/Gecko developers</h2> + +<p>Certain changes are only really interesting if you work on the internals of Firefox itself.</p> + +<h3 id="Interfaces_merged">Interfaces merged</h3> + +<p>The following interfaces have been combined together:</p> + +<ul> + <li><code>nsIPluginTagInfo2</code> has been merged into <code>nsIPluginTagInfo</code>.</li> + <li><code>nsIPluginInstanceInternal</code>, <code>nsIPPluginInstancePeer</code>, <code>nsIPluginInstancePeer1</code>, <code>nsIPluginInstancePeer2</code>, and <code>nsIPluginInstancePeer3</code> have all been merged into <code>nsIPluginInstance</code>.</li> + <li><code>nsIWindowlessPlugInstPeer</code> has been merged into <code>nsIPluginInstance</code>.</li> + <li><code>nsIPluginManager</code> and <code>nsIPluginManager2</code> have been merged into <code>nsIPluginHost</code>.</li> +</ul> + +<h3 id="Interfaces_removed">Interfaces removed</h3> + +<p>The following interfaces have been removed entirely because they were unused, unimplemented, or obsolete:</p> + +<ul> + <li><code>nsIFullScreen</code></li> + <li><code>nsIDOMSVGListener</code></li> + <li><code>nsIDOMSVGZoomListener</code></li> + <li><code>nsIInternetConfigService</code></li> + <li><code>nsIDKey</code></li> + <li><code>nsIEventHandler</code></li> + <li><code>nsIJRILiveConnectPIPeer</code></li> + <li><code>nsIJRILiveConnectPlugin</code></li> + <li><code>nsIScriptablePlugin</code></li> + <li><code>nsIClassicPluginFactory</code></li> + <li><code>nsIFileUtilities</code></li> +</ul> + +<h3 id="Interfaces_moved">Interfaces moved</h3> + +<p>The following interfaces have been relocated from their previous IDL files into new ones:</p> + +<ul> + <li><code>nsIDOMNSCSS2Properties</code> is now located in its own IDL file (<code>dom/interfaces/css/nsIDOMCSS2Properties.idl</code>).</li> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIUpdateTimerManager" title="">nsIUpdateTimerManager</a></code> is now located in its own IDL file.</li> +</ul> + +<p>A large number of interfaces have been moved. See <a href="/en-US/docs/Interfaces_moved_in_Firefox_3.6" title="en-US/docs/Interfaces moved in Firefox 3.6">Interfaces moved in Firefox 3.6</a> for a complete list.</p> + +<h3 id="Other_interface_changes">Other interface changes</h3> + +<p>The following assorted changes have been made:</p> + +<ul> + <li>The <code>nsIPlugin</code> interface now inherits from <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code> instead of <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFactory" title="">nsIFactory</a></code>.</li> + <li>The <code>nsIPluginHost</code> interface now inherits from <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code> instead of <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFactory" title="">nsIFactory</a></code>.</li> + <li>The <code>nsIFrame</code> interface now inherits from <code>nsQueryFrame</code> instead of <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code>.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDeviceContext" title="">nsIDeviceContext</a></code> method <code>getPaletteInfo()</code> has been removed, as it was never implemented.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIScriptContext" title="">nsIScriptContext</a></code> method <code>reportPendingException()</code> has been removed, since it was no longer being used.</li> +</ul> + +<h3 id="Changes_in_accessibility_code">Changes in accessibility code</h3> + +<ul> + <li>The <span style="font-family: monospace;">EVENT</span><code>_REORDER</code> <a href="/en-US/docs/XPCOM_Interface_Reference/nsIAccessibleEvent" title="en-US/docs/XPCOM Interface Reference/nsIAccessibleEvent">accessibility event</a> is now sent when the children of frames and iframes change, as well as when the main document's children change. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=420845" title="FIXED: Fire event_reorder on any embedded frames/iframes whos document has just loaded.">bug 420845</a>.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIAccessibleTable#selectRow()">nsIAccessibleTable.selectRow()</a></code> now correctly removes any current selection before selecting the specified row.</li> +</ul> + +<h2 id="See_also">See also</h2> + +<div><div class="multiColumnList"> +<ul> +<li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3">Firefox 3 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/2">Firefox 2 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/1.5">Firefox 1.5 for developers</a></li></ul> +</div></div> diff --git a/files/zh-tw/mozilla/firefox/releases/3/dom_improvements/index.html b/files/zh-tw/mozilla/firefox/releases/3/dom_improvements/index.html new file mode 100644 index 0000000000..315cc39037 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/3/dom_improvements/index.html @@ -0,0 +1,26 @@ +--- +title: Firefox 3 Dom Improvements +slug: Mozilla/Firefox/Releases/3/DOM_improvements +translation_of: Mozilla/Firefox/Releases/3/DOM_improvements +--- +<div>{{FirefoxSidebar}}</div><h3 id="Firefox_3_.E5.B0.8D_DOM_.E7.9A.84.E6.94.B9.E5.96.84" name="Firefox_3_.E5.B0.8D_DOM_.E7.9A.84.E6.94.B9.E5.96.84">Firefox 3 對 DOM 的改善</h3> +<p>Firefox 3 對 DOM 做了一些改善,改善重點之一就是加強對於「其他瀏覽器對 DOM 所增加的延伸規格」的支援。</p> +<ul> + <li>支援 IE 的延伸規格 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:element.clientTop">clientTop</a> 與 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:element.clientLeft">clientLeft</a>。</li> + <li>現在不論在哪裡讀取,<a class="external" href="http://developer.mozilla.org/en/docs/DOM:window.fullScreen">wondow.fullScreen</a> perperty 可以總是保持正確,即使在 content 內也一樣。先前會錯誤地回報 false (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=127013">Bug127013</a>) 。</li> + <li>支援 IE 的延伸規格 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:element.getClientRects">getClientRects</a> and <a class="external" href="http://developer.mozilla.org/en/docs/DOM:element.getBoundingClientRect">getBoundingClientRect</a> (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=174397">Bug 174397</a>).</li> + <li>支援 IE 的延伸規格 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:document.elementFromPoint">elementFromPoint</a> (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=199692">Bug 199692</a>)</li> + <li>支援 IE 的延伸規格 oncut, oncopy, onpaste, onbeforecut, onbeforecopy and onbeforepaste (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=280959">Bug 280959</a>)</li> + <li>新增可以用於 Node.nodePrincipal, Node.baseURIObject, and <a class="external" href="http://developer.mozilla.org/en/docs/DOM:document.documentURIObject">document.documentURIObject</a> 的 privileged-code-only getters。Chrome code 絕對不可以在 unwrapped content object (例如: 在 <a class="external" href="http://developer.mozilla.org/en/docs/XPCNativeWrapper">XPCNativeWrapper</a> 的 wrappedJSObject) 上 touch (get or set) 這些 properties,詳見 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=324464">Bug 324464</a>。</li> + <li>支援 The Web Applications 1.0 (HTML5) 的 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:document.getElementsByClassName">getElementsByClassName()</a></li> +</ul> +<h3 id=".E5.8F.83.E8.80.83.E8.B3.87.E6.96.99" name=".E5.8F.83.E8.80.83.E8.B3.87.E6.96.99">參考資料</h3> +<ul> + <li><a class="external" href="http://developer.mozilla.org/en/docs/DOM_improvements_in_Firefox_3">DOM Improvements in Firefox 3 原始網頁</a></li> +</ul> +<h3 id=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80" name=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80">延伸閱讀</h3> +<ul> + <li><a class="external" href="http://developer.mozilla.org/zh_tw/docs/Firefox_3_for_developers">Firefox 3 開發人員須知</a></li> + <li><a class="external" href="http://developer.mozilla.org/zh_tw/docs/Firefox_3_CSS_Improvement">Firefox 3 對 CSS 的改善</a></li> + <li><a class="external" href="http://developer.mozilla.org/en/docs/DOM">DOM</a></li> +</ul> diff --git a/files/zh-tw/mozilla/firefox/releases/3/firefox_3_css_improvement/index.html b/files/zh-tw/mozilla/firefox/releases/3/firefox_3_css_improvement/index.html new file mode 100644 index 0000000000..bbad0696a8 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/3/firefox_3_css_improvement/index.html @@ -0,0 +1,30 @@ +--- +title: Firefox 3 CSS Improvement +slug: Mozilla/Firefox/Releases/3/Firefox_3_CSS_Improvement +translation_of: Mozilla/Firefox/releases/3/CSS_improvements +--- +<div>{{FirefoxSidebar}}</div><h3 id="Firefox_3_CSS_.E7.9A.84.E6.94.B9.E5.96.84" name="Firefox_3_CSS_.E7.9A.84.E6.94.B9.E5.96.84">Firefox 3 CSS 的改善</h3> +<ul> + <li>實做了 <a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-display">display</a> property 的兩個特性值 <a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#value-def-inline-block">inline-block</a> 與 <a class="external" href="http://www.w3.org/TR/CSS21/tables.html#value-def-inline-table">inline-table</a>。</li> + <li>現在所有平台都支援 <a class="external" href="http://www.w3schools.com/css/pr_font_font-size-adjust.asp">font-size-adjust</a> property (先前只在 Windows 平台支援)。</li> + <li>支援 <a class="external" href="http://www.w3.org/TR/css3-color/">CSS 3 Color Module</a> 中加入的特性值 <a class="external" href="http://www.w3.org/TR/css3-color/#rgba-color">rgba()</a> 與 <a class="external" href="http://www.w3.org/TR/css3-color/#hsla-color">hsla()</a> (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=147017">Bug 147017</a>)。</li> + <li>支援 <a class="external" href="http://www.w3.org/TR/css3-ui/">CSS3 Basic User Interface Module</a> 的 pesudo-class <a class="external" href="http://www.w3.org/TR/css3-ui/#pseudo-default">:default</a> (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=302186">Bug 302186</a>)。</li> + <li>替 width, min-width, max-width 這三個 properties 加入四個特性值: -moz-max-content, -moz-min-content, -moz-fit-content, 與 -moz-available (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=311415">Bug 311415</a> 與 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=402706">Bug 402706</a>)。</li> + <li>支援 HTML soft hyphens (&shy;)。</li> + <li>現在 Pre-formatted tabs 在使用比例字型時的表現好多了,遵守 CSS 2.1 規格書。</li> + <li>支援微軟的 CSS 規格 <a class="external" href="http://developer.mozilla.org/en/docs/CSS:ime-mode">ime-mode </a> property。</li> + <li>現在支援了 CSS text-rendering property for HTML (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=387969">Bug 387969</a>)。</li> + <li>實做了兩個 CSS properties: -moz-border-*-start 與 -moz-border-*-end (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=74880">Bug 74880</a>)。</li> + <li>現在 -moz-initial 幾乎實做於所有的 CSS properties 了 (除了 quotes and -moz-border-*-colors) (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=80887">Bug 80887</a>)。</li> + <li>window.getComputedStyle() 現在支援所有已支援的 CSS properties (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=316981">Bug 316981</a>).</li> + <li>支援 content property 的特性值 "none" (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=378535">Bug 378535</a>)。</li> + <li>支援 cursor property 的特性值 "none" (<a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=378535">Bug 378535</a>)。</li> +</ul> +<h3 id=".E5.8F.83.E8.80.83.E8.B3.87.E8.A8.8A" name=".E5.8F.83.E8.80.83.E8.B3.87.E8.A8.8A">參考資訊</h3> +<ul> + <li><a class="external" href="http://developer.mozilla.org/en/docs/CSS_improvements_in_Firefox_3">CSS improvements in Firefox 3 原始網頁</a></li> +</ul> +<h3 id=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80" name=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80">延伸閱讀</h3> +<ul> + <li><a class="external" href="http://msdn2.microsoft.com/en-us/library/ms533883.aspx">ime-mode Attribute | imeMode Property</a></li> +</ul> diff --git a/files/zh-tw/mozilla/firefox/releases/3/index.html b/files/zh-tw/mozilla/firefox/releases/3/index.html new file mode 100644 index 0000000000..a6663801f8 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/3/index.html @@ -0,0 +1,93 @@ +--- +title: Firefox 3 技術文件 +slug: Mozilla/Firefox/Releases/3 +translation_of: Mozilla/Firefox/Releases/3 +--- +<div>{{FirefoxSidebar}}</div><h3 id="Firefox_3_.E7.B6.B2.E7.AB.99.E9.96.8B.E7.99.BC.E9.A0.88.E7.9F.A5" name="Firefox_3_.E7.B6.B2.E7.AB.99.E9.96.8B.E7.99.BC.E9.A0.88.E7.9F.A5">Firefox 3 網站開發須知</h3> +<p> </p> +<dl> + <dt> + Web application 需要更新的地方</dt> + <dd> + 提供一些應用 Firefox 3 的新功能在 web applications 時可能需要注意的地方。</dd> + <dt> + <a href="zh_tw/Firefox_3_Online_and_Offline_Events">Online / Offline 事件</a></dt> + <dd> + Firefox 3 支援 <a class="external" href="http://wiki.whatwg.org/wiki/FAQ#What_is_the_WHATWG.3F">WHATWG</a> 的 online/offline event,讓 applications/extensions 可以偵測目前是否有 active 的網際網路連線、目前是在線上還是斷線中。</dd> + <dt> + <a href="zh_tw/Firefox_3_supports_Cross-site_XMLHttpRequest">Cross-site XMLHttpRequest</a></dt> + <dd> + Firefox 3 支援了 <a class="external" href="http://www.w3.org/TR/access-control/">W3C Access Control</a> working draft,這讓你可以對其他網站作 XMLHttpRequests 以取得其他網站的資料,並加以管理,這讓你可以在自己建立的網站中,混入來自多個其他網站的內容。</dd> + <dt> + Alternate style sheet</dt> + <dd> + Firefox 3 支援 CSS object model alternate style sheet API。(見 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=200930">Bug 200930</a>)</dd> + <dt> + <a href="zh_tw/Firefox_3_Web-based_protocol_handler">Web-based protocol handlers</a></dt> + <dd> + 在 Firefox 3,我們可以使用 navigator.registerProtocolHandler() 的方式把 web application 註冊為 protocal handler。</dd> + <dt> + 使用 Canvas 來「畫」字</dt> + <dd> + Firefox 3 支援用 mozilla 專用的非標準、實驗中的 API (mozXXX) 來處理 <canvas></dd> + <dt> + 支援在 Canvas 使用 transform</dt> + <dd> + Firefox 3 支援在 <canvas> 上使用 transform() 與 setTransform()</dd> + <dt> + <a href="zh_tw/Firefox_3_Using_Microformat">使用 microformat</a></dt> + <dd> + Firefox 3 現在有 APIs 可以處理 microformat</dd> + <dt> + <a href="zh_tw/Firefox_3_Drag_and_Drop_Events">Drag / drop</a> 事件</dt> + <dd> + Firefox 3 支援兩個新的 events,在「拖放」開始與結束的時候,可以傳給「拖放操作」的 source node。</dd> + <dt> + HTML 5 的 focus 相關屬性</dt> + <dd> + Firefox 3 支援 HTML 5 新增給 DOM 的兩個屬性 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:document.activeElement">activeElement</a> 與 <a class="external" href="http://developer.mozilla.org/en/docs/DOM:document.hasFocus">hasFocus</a>。</dd> + <dt> + <a href="zh_tw/Offline_resources_on_Firefox">Offline resources on Firefox</a></dt> + <dd> + Firefox 3 現在支援讓 web application 可以要求將 resources 存入快取,以便我們離線時可以執行 web applications。</dd> + <dt> + <a href="zh_tw/Firefox_3_CSS_Improvement">CSS 的改善</a></dt> + <dd> + Firefox 3 改善了對於 CSS 的支援。</dd> + <dt> + <a href="zh_tw/Firefox_3_Dom_Improvements">DOM 的改善</a></dt> + <dd> + Firefox 3 的 DOM implimentation 有一些新功能,其中包括:支援了 IE 對 DOM 作的某些 extensions。</dd> + <dt> + Javascript 1.8 的支援</dt> + <dd> + Firefox 3 現在支援 Javascript 1.8。(見 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=380236">Bug 380236</a>)</dd> + <dt> + EXSLT 的支援</dt> + <dd> + Firefox 3 支援了 a substantial subset of the EXSLT extensions to XSLT。</dd> + <dt> + SVG 的改善</dt> + <dd> + Firefox 3 大大提高了對 SVG 的支援,其中包括:支援了超過兩打的新 filters、好幾個新元素、新屬性,以及其他的改善。</dd> + <dt> + <a href="zh_tw/Firefox_3_Animated_PNG_support">Animated PNG</a> 的支援</dt> + <dd> + Firefox 3 現在支援動態 PNG 格式 (Animated PNG image format)</dd> + <dt> + <a href="zh_tw/Firefox_3_ping_attribute_support_for_anchor_element"><a ping></a> 的支援</dt> + <dd> + Firefox 3 現在支援用 <a ping> 去 ping URL,並且預設是 enable 的。</dd> +</dl> +<h3 id=".E5.8F.83.E8.80.83.E8.B3.87.E6.96.99" name=".E5.8F.83.E8.80.83.E8.B3.87.E6.96.99">參考資料</h3> +<p><a class="external" href="http://developer.mozilla.org/en/docs/Firefox_3_for_developers#For_web_site_and_application_developers">Firefox 3 for developers</a></p> +<h3 id=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80" name=".E5.BB.B6.E4.BC.B8.E9.96.B1.E8.AE.80">延伸閱讀</h3> +<ul> + <li><a class="external" href="http://developer.mozilla.org/en/docs/Updating_extensions_for_Firefox_3">Updating extensions for Firefox 3</a></li> + <li><a class="external" href="http://developer.mozilla.org/en/docs/Updating_web_applications_for_Firefox_3">Updating web applications for Firefox 3</a></li> + <li><a class="external" href="http://developer.mozilla.org/en/docs/Firefox_2_for_developers">Firefox 2 for developers</a></li> + <li><a class="external" href="http://developer.mozilla.org/en/docs/Firefox_1.5_for_developers">Firefox 1.5 for developers</a></li> +</ul> +<div class="noinclude"> + </div> +<p>{{ languages( { "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", "ko": "ko/Firefox_3_for_developers", "pl": "pl/Firefox_3_dla_programist\u00f3w", "pt": "pt/Firefox_3_para_desenvolvedores" } ) }}</p> diff --git a/files/zh-tw/mozilla/firefox/releases/35/index.html b/files/zh-tw/mozilla/firefox/releases/35/index.html new file mode 100644 index 0000000000..d15394097d --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/35/index.html @@ -0,0 +1,130 @@ +--- +title: Firefox 35 技術文件 +slug: Mozilla/Firefox/Releases/35 +translation_of: Mozilla/Firefox/Releases/35 +--- +<div><section class="Quick_links" id="Quick_Links"> + <ol> + <li class="toggle"> + <details> + <summary>Firefox developer release notes</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Releases">Firefox developer release notes</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>擴充套件</summary> + <ol> + <li><a href="/zh-TW/Add-ons/WebExtensions">瀏覽器擴充功能</a></li> + <li><a href="/zh-TW/Add-ons/Themes">主題</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Firefox internals</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/">Mozilla project</a></li> + <li><a href="/zh-TW/docs/Mozilla/Gecko">Gecko</a></li> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Headless_mode">Headless mode</a></li> + <li><a href="/zh-TW/docs/Mozilla/JavaScript_code_modules">JavaScript 程式碼模組</a></li> + <li><a href="/zh-TW/docs/Mozilla/js-ctypes">JS-ctypes</a></li> + <li><a href="/zh-TW/docs/Mozilla/MathML_Project">MathML 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/MFBT">MFBT</a></li> + <li><a href="/zh-TW/docs/Mozilla/Projects">Mozilla 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/Preferences">Preference system</a></li> + <li><a href="/zh-TW/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XPCOM">XPCOM</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XUL">XUL</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Building and contributing</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions">建置教學</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuring build options</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">How the build system works</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Mozilla 原始碼</a></li> + <li><a href="/zh-TW/docs/Mozilla/Localization">在地化</a></li> + <li><a href="/zh-TW/docs/Mozilla/Mercurial">Mercurial</a></li> + <li><a href="/zh-TW/docs/Mozilla/QA">Quality assurance</a></li> + <li><a href="/zh-TW/docs/Mozilla/Using_Mozilla_code_in_other_projects">在我們的專案中使用 Mozilla 程式碼</a></li> + </ol> + </details> + </li> + </ol> +</section></div><div> + {{ ReleaseChannelInfo("35", "35", "January 2015", "Aurora") }}</div> +<p>Want to help document Firefox 35? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&version=35.0">list of bugs that need to be written about</a> and pitch in!</p> +<h2 id="Changes_for_Web_developers">Changes for Web developers</h2> +<h3 id="Developer_Tools">Developer Tools</h3> +<p>Highlights:</p> +<ul> + <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#.3A.3Abefore_and_.3A.3Aafter">See ::before and ::after pseudo elements in the Page Inspector</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Style_Editor#Source_map_support">CSS source maps are now enabled by default</a></li> + <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector#Element_popup_menu_2">"Show DOM Properties" from the Page Inspector</a></li> +</ul> +<p><a class="external-icon external" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&chfieldto=2014-10-13&chfield=resolution&query_format=advanced&chfieldfrom=2014-09-02&chfieldvalue=FIXED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&component=Simulator&product=Firefox&product=Firefox%20OS&list_id=11184176">All devtools bugs fixed between Firefox 34 and Firefox 35</a>.</p> +<h3 id="CSS">CSS</h3> +<ul> + <li>The <a href="/zh-TW/docs/Web/CSS/mask-type" title="The documentation about this has not yet been written; please consider contributing!"><code>mask-type</code></a> property has been activated by default (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1058519" title="FIXED: Ship mask-type CSS property">bug 1058519</a>).</li> + <li>The <a href="/zh-TW/docs/Web/CSS/filter" title="The documentation about this has not yet been written; please consider contributing!"><code>filter</code></a> property is now activated by default (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1057180" title="FIXED: Turn on CSS Filters by default (by enabling about:config pref)">bug 1057180</a>).</li> + <li>The <a href="/zh-TW/docs/Web/CSS/@font-face" title="The @font-face CSS at-rule allows authors to specify online fonts to display text on their web pages. By allowing authors to provide their own fonts, @font-face eliminates the need to depend on the limited number of fonts users have installed on their computers. The @font-face at-rule may be used not only at the top level of a CSS, but also inside any CSS conditional-group at-rule."><code>@font-face</code></a> at-rule now supports WOFF2 fonts (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1064737" title="FIXED: support WOFF2 fonts via @font-face">bug 1064737</a>).</li> +</ul> +<h3 id="HTML">HTML</h3> +<ul> + <li>The obsolete and non-conforming <code>bottommargin</code>, <code>leftmargin</code>, <code>rightmargin</code> and <code>topmargin</code> attributes of the <code><a href="/zh-TW/docs/Web/HTML/Element/body" title="The documentation about this has not yet been written; please consider contributing!"><code><body></code></a> element</code> have been activated in non-quirks mode (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=95530" title="FIXED: topmargin and leftmargin attributes on the BODY element should be honored in all modes (not just Quirks mode)">bug 95530</a>).</li> +</ul> +<h3 id="JavaScript">JavaScript</h3> +<ul> + <li>The "<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let#Temporal_dead_zone_and_errors_with_let">temporal dead zone</a>" for <a href="/en-US/docs/Web/JavaScript/Reference/Statements/let"><code>let</code></a> declarations has been implemented. In conformance with ES6 <code>let</code> semantics, the following situations<br> + now throw errors. See also this<a href="https://groups.google.com/forum/#!topic/mozilla.dev.platform/tezdW299Zds"> newsgroup announcement</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1001090" title='FIXED: Implement ES6 "temporal dead zone" for let'>bug 1001090</a>. + <ul> + <li>Redeclaring existing variables or arguments using <code>let</code> within the same scope in function bodies is now a syntax error.</li> + <li>Using a variable declared using <code>let</code> in function bodies before the declaration is reached and evaluated is now a runtime error.</li> + </ul> + </li> + <li>ES6 <a href="/zh-TW/docs/Web/JavaScript/Reference/Symbols" title="The documentation about this has not yet been written; please consider contributing!"><code>Symbols</code></a> (only available in the Nightly channel) have been updated to conform with recent specification changes: + <ul> + <li><code>String(Symbol("1"))</code> now no longer throws a <a href="/zh-TW/docs/Web/JavaScript/Reference/TypeError" title="The documentation about this has not yet been written; please consider contributing!"><code>TypeError</code></a>; instead a string (<code>"Symbol(1)"</code>) gets returned (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1058396" title="FIXED: String(aSymbol) now returns the symbol’s description in ES6 draft rev 27">bug 1058396</a>).</li> + </ul> + </li> + <li>The various <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#TypedArray_objects"><em>TypedArray</em> constructors</a> now have as their <code>[[Prototype]]</code> a single function, denoted <code>%TypedArray%</code> in ES6 (but otherwise not directly exposed). Each typed array prototype now inherits from <code>%TypedArray%.prototype</code>. (<code>%TypedArray%</code> and <code>%TypedArray%.prototype</code> inherit from <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype"><code>Function.prototype</code></a> and <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype"><code>Object.prototype</code></a>, respectively, so that typed array constructors and instances still have the properties found on those objects.) Typed array function properties now reside on <code>%TypedArray%.prototype</code> and work on any typed array. See <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Description"><em>TypedArray</em></a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=896116" title="FIXED: Implement ES6 %TypedArray% superclass that all ArrayBufferViews inherit from">bug 896116</a> for more information.</li> + <li>ES6 semantics for <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Prototype_mutation">prototype mutations using object literals</a> have been implemented (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1061853" title="FIXED: Implement ES6 object-literal __proto__ restrictions/semantics">bug 1061853</a>). + <ul> + <li>Now only a single member notated as <code>__proto__:value</code> will mutate the <code>[[Prototype]]</code> in the object literal syntax.</li> + <li>Method members like <code>__proto__() {}</code> will not overwrite the <code>[[Prototype]]</code> anymore.</li> + </ul> + </li> +</ul> +<h3 id="InterfacesAPIsDOM">Interfaces/APIs/DOM</h3> +<ul> + <li>The <a href="/zh-TW/docs/Web/API/NavigatorLanguage" title="The documentation about this has not yet been written; please consider contributing!"><code>NavigatorLanguage</code></a> interface is now available to workers on <a href="/zh-TW/docs/Web/API/WorkerNavigator" title="The documentation about this has not yet been written; please consider contributing!"><code>WorkerNavigator</code></a> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=925849" title="FIXED: WorkerNavigator does not implement NavigatorLanguage">bug 925849</a>).</li> + <li>The <a href="/zh-TW/docs/Web/API/Element/closest" title="The documentation about this has not yet been written; please consider contributing!"><code>Element.closest</code></a> method returns the closest ancestor of the current element (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1055533" title="FIXED: Implement Element.closest()">bug 1055533</a>).</li> +</ul> +<h3 id="MathML">MathML</h3> +<ul> + <li>The <code>dtls</code> OpenType feature (via the CSS <a href="/zh-TW/docs/Web/CSS/font-feature-settings" title="The documentation about this has not yet been written; please consider contributing!"><code>font-feature-settings</code></a> on the default stylesheet) is now applied automatically to MathML elements when positioning scripts over it (e.g. dotless i with mathematical hat).</li> +</ul> +<h3 id="SVG">SVG</h3> +<p><em>No change.</em></p> +<h3 id="AudioVideo">Audio/Video</h3> +<p><em>No change.</em></p> +<h2 id="Security">Security</h2> +<ul> + <li>The <a href="/en-US/docs/Web/Security/Public_Key_Pinning">Public Key Pinning</a> Extension for HTTP (HPKP) has been implemented. (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=787133" title="FIXED: Implement Public Key Pinning Extension for HTTP (HPKP)">bug 787133</a>)</li> +</ul> +<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2> +<h3 id="XUL">XUL</h3> +<ul> + <li>The private <code>_getTabForBrowser()</code> method on the <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> element has been deprecated. In its place, we've added a new, public, method called <span id="m-getTabForBrowser"><code><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Method/getTabForBrowser">getTabForBrowser</a></code></span>. This returns, predictably, the <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> element that contains the specified <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code>.</li> +</ul> +<h2 id="Older_versions">Older versions</h2> +<div class="multiColumnList"> +<ul> +<li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/34">Firefox 34 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/33">Firefox 33 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/32">Firefox 32 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/31">Firefox 31 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/30">Firefox 30 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/29">Firefox 29 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/28">Firefox 28 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/27">Firefox 27 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/26">Firefox 26 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/25">Firefox 25 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/24">Firefox 24 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/23">Firefox 23 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/22">Firefox 22 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/21">Firefox 21 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/20">Firefox 20 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/19">Firefox 19 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/18">Firefox 18 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/17">Firefox 17 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/16">Firefox 16 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/15">Firefox 15 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/14">Firefox 14 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/13">Firefox 13 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/12">Firefox 12 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/11">Firefox 11 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/10">Firefox 10 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/9">Firefox 9 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/8">Firefox 8 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/7">Firefox 7 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/6">Firefox 6 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/5">Firefox 5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/4">Firefox 4 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.6">Firefox 3.6 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3">Firefox 3 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/2">Firefox 2 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/1.5">Firefox 1.5 for developers</a></li></ul> +</div> diff --git a/files/zh-tw/mozilla/firefox/releases/4/firefox_4_開發者新功能概覽/index.html b/files/zh-tw/mozilla/firefox/releases/4/firefox_4_開發者新功能概覽/index.html new file mode 100644 index 0000000000..c36dad8487 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/4/firefox_4_開發者新功能概覽/index.html @@ -0,0 +1,228 @@ +--- +title: Firefox 4 for developers +slug: Mozilla/Firefox/Releases/4/Firefox_4_開發者新功能概覽 +--- +<div>{{FirefoxSidebar}}</div><p>2010 年六月起進入 Beta 測試期的 Firefox 4,增進了效能、加強針對 HTML 5 及其他創新網際科技的支援程度,也更加安全。本文為網頁、附加元件、Gecko 平台開發者們提供這一版的簡要技術相關資訊。</p> + +<div class="geckoVersionNote"> +<p>{{ gecko_callout_heading("2") }}</p> + +<p>Gecko 1.9.3 即將更名為 Gecko 2,但許多文件還沒有針對此點更新,在接下來的幾個星期中才會有所更動。</p> +</div> + +<p>以下大部分的功能都已經可以在 <a class="external" href="http://nightly.mozilla.org/" title="http://nightly.mozilla.org/">逐日建置版</a>中試用。</p> + +<div class="note"><strong>註:</strong>本文、以及本文所連結的其他文件仍持續編修中,很多文件的名稱只是暫定、有些主題的文件也可能會拆成幾份子文件以方便閱讀。中文團隊的目標將僅翻譯這份概覽,其他子文件則有待大家的幫忙。</div> + +<h2 id="Features_for_web_developers">Features for web developers</h2> + +<p>Gecko now uses the <a href="/en/HTML/HTML5" title="en/HTML/HTML5">HTML5</a> parser, which fixes bugs, improves interoperability, and improves performance. It also lets content embed <a href="/en/SVG" title="en/SVG">SVG</a> and <a href="/en/MathML" title="en/MathML">MathML</a> directly in the HTML markup.</p> + +<h3 id="HTML">HTML</h3> + +<dl> + <dt>Introduction to the HTML5 parser</dt> + <dd>A look at what the HTML5 parser means to you, and how to embed SVG and MathML into your content inline.</dd> + <dt><a href="/en/HTML/HTML5/Forms_in_HTML5" title="en/HTML/Forms in HTML5">Forms in HTML5</a></dt> + <dd>A look at improvements to web forms in HTML5.</dd> + <dt><a href="/en/Sections_and_Outlines_of_an_HTML5_document" title="en/Sections and Outlines of an HTML5 document">HTML5 Sections</a></dt> + <dd>Gecko now supports the new HTML5 elements related to sections in a document: {{ HTMLElement("article") }}, {{ HTMLElement("section") }}, {{ HTMLElement("nav") }}, {{ HTMLElement("aside") }}, {{ HTMLElement("hgroup") }}, {{ HTMLElement("header") }} and {{ HTMLElement("footer") }}.</dd> + <dt>Other HTML5 elements</dt> + <dd>Gecko now also supports the following new HTML5 elements: {{ HTMLElement("mark") }}, {{ HTMLElement("figure") }} and {{ HTMLElement("figcaption") }}.</dd> + <dt>WebSockets</dt> + <dd>A guide to using the new WebSockets API for real-time communication between a web application and a server.</dd> +</dl> + +<h4 id="Miscellaneous_HTML_changes">Miscellaneous HTML changes</h4> + +<ul> + <li>{{ HTMLElement("textarea") }} elements are now resizable by default; you can use the {{ cssxref("resize") }} CSS property to disable this.</li> + <li><code>canvas.getContext</code> and <code>canvas.toDataURL</code> no longer throw an exception when called with unrecognized arguments.</li> + <li><code>canvas2dcontext.globalCompositeOperation</code>, <code>canvas2dcontext.lineCap</code> and <code>canvas2dcontext.lineJoin</code> no longer throw an exception when set to an unrecognized value.</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<dl> + <dt><a href="/en/CSS/CSS_transitions" title="en/CSS/CSS transitions">CSS transitions</a></dt> + <dd>New CSS transitions support is available in Firefox 4.</dd> + <dt>Computed values in CSS</dt> + <dd>Support for<code> calc() </code>to compute values in CSS is in progress. See {{ bug(363249) }}.</dd> + <dt>Selector grouping</dt> + <dd>Support for {{ cssxref(":-moz-any") }} to group selectors and factorize combinators.</dd> + <dt>Background image subrectangle support</dt> + <dd>The {{ cssxref("-moz-image-rect") }} property makes it possible to use subrectangles of images as a background image.</dd> + <dt>CSS touch properties</dt> + <dd>Support for touch properties is added. Details, and real article names, to come later.</dd> + <dt><a href="/en/CSS/Privacy_and_the_:visited_selector" title="en/CSS/Privacy and the :visited selector">Privacy and the :visited selector</a></dt> + <dd>Changes have been made to what information can be obtained about the style of visited links using CSS selectors. This may affect some web applications.</dd> +</dl> + +<h4 id="Miscellaneous_CSS_changes">Miscellaneous CSS changes</h4> + +<ul> + <li>The {{ cssxref("text-shadow") }} property now caps the blur radius to 300px for sanity and performance reasons.</li> + <li>The {{ cssxref(":-moz-window-inactive") }} pseudoclass has been implemented.</li> + <li>The {{ cssxref("-moz-tab-size") }} property lets you specify the width in space characters of a tab character (U+0009) when rendering text.</li> + <li>The CSS3 {{ cssxref("resize") }} property has been implemented.</li> + <li>The<code> -moz-background-size </code>property has been renamed to its final {{ cssxref("background-size") }} naming; <code>-moz-background-size</code> is no longer supported.</li> + <li>The {{ cssxref("oveflow") }} property no longer applies to table-group elements ({{ HTMLElement("thead") }}, {{ HTMLElement("tbody") }}, and {{ HTMLElement("tfoot") }}).</li> +</ul> + +<h3 id="Graphics_and_video">Graphics and video</h3> + +<dl> + <dt> </dt> + <dt><a href="/en/WebGL" title="en/WebGL">WebGL</a></dt> + <dd>The developing WebGL standard is now supported by Firefox.</dd> + <dt>Optimizing graphics performance</dt> + <dd>Tips and tricks for getting the most out of graphics and video performance in Firefox 4.</dd> + <dt><a href="/En/Media_formats_supported_by_the_audio_and_video_elements#WebM" title="En/Media formats supported by the audio and video elements#WebM">Support for WebM video</a></dt> + <dd>The new open <a class="external" href="http://www.webmproject.org/" title="http://www.webmproject.org/">WebM</a> video format is supported by Gecko 1.9.3; support is included in nightlies as of 9 June.</dd> + <dt>Full screen API</dt> + <dd>Details coming soon.</dd> + <dt>SMIL animation</dt> + <dd>Support for SMIL animation of SVG is now available. See {{ bug(482402) }}.</dd> + <dt>Using SVG as images and as CSS backgrounds</dt> + <dd>You can now use SVG with the {{ htmlelement("img") }} element, as well as the background image in CSS. See {{ bug(272288) }}, {{ bug(276431) }} and {{ bug(231179) }}.</dd> +</dl> + +<h3 id="DOM">DOM</h3> + +<dl> + <dt>Obtaining boundary rectangles for ranges</dt> + <dd>The Range object now has <code>getClientRects()</code> and <code>getBoundingClientRect()</code> methods. See {{ bug(396392) }}.</dd> + <dt>Capturing mouse events on arbitrary elements</dt> + <dd>Support for the Internet Explorer-originated <code>setCapture()</code> and <code>releaseCapture()</code> APIs has been added. See {{ bug(503943) }}.</dd> + <dt><a href="/en/DOM/Manipulating_the_browser_history" title="en/DOM/Manipulating the browser history">Manipulating the browser history</a></dt> + <dd>The existing document history object, available through the {{ domxref("window.history") }} object, now supports the new HTML5 <code>pushState()</code> and <code>replaceState()</code> methods.</dd> + <dt>Touch and multi-touch events</dt> + <dd>Support has been added for touch and multi-touch events.</dd> + <dt><a href="/en/IndexedDB" title="IndexedDB">IndexedDB</a></dt> + <dd>The proposed IndexedDB standard, which provides a local database store for web applications, will be supported by Firefox 4.</dd> +</dl> + +<h4 id="Miscellaneous_DOM_changes">Miscellaneous DOM changes</h4> + +<ul> + <li>The wrapping of a {{ HTMLElement("textarea") }} element can now be controlled via the DOM, via the <code>wrap</code> DOM attribute. {{ bug(41464) }}</li> + <li>DOM {{ domxref("file") }} objects now offer a <code>url</code> property.</li> + <li>DOM {{ domxref("file") }} objects now have a new <code>click()</code> method. (Note: not done yet, see <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=36619" title="https://bugzilla.mozilla.org/show_bug.cgi?id=36619">bug 36619</a>.)</li> + <li><a href="/En/XMLHttpRequest/Using_XMLHttpRequest#Using_FormData_objects" title="en/XMLHttpRequest/Using XMLHttpRequest#Using FormData objects">FormData</a> support for XMLHttpRequest.</li> + <li>The {{ domxref("element.isContentEditable") }} property has been implemented.</li> + <li>Added the <a href="/En/DragDrop/DataTransfer#mozSourceNode" title="En/DragDrop/DataTransfer#mozSourceNode"><code>mozSourceNode</code></a> property to the <a href="/En/DragDrop/DataTransfer" title="En/DragDrop/DataTransfer"><code>DragTransfer</code></a> object.</li> + <li>Added the <a href="/en/DOM/Selection/modify" title="en/DOM/selection/modify"><code>selection.modify()</code></a> method to the {{ domxref("Selection") }} object; this lets you easily alter the current text selection or cursor position in a browser window.</li> + <li>Support for the <code>window.directories</code> object and the <code>directories</code> feature for {{ domxref("window.open") }}, which are not supported in any other browser, has been removed. Use <code>personalbar</code> instead. {{ Bug(474058) }}</li> + <li>The {{ domxref("event.mozInputSource") }} property has been added to DOM user interface events; this non-standard property lets you determine the type of device that generated an event.</li> + <li>The {{ domxref("document.onreadystatechange") }} event has been implemented.</li> + <li>The {{ domxref("document.createElement") }} method no longer accepts <code><</code> and <code>></code> around the tag name in quirks mode.</li> +</ul> + +<h3 id="Security">Security</h3> + +<dl> + <dt><a href="/en/Introducing_Content_Security_Policy" title="en/Introducing Content Security Policy">Introducing Content Security Policy</a></dt> + <dd>Content Security Policy (CSP) is a Mozilla proposal designed to help web designers and server administrators specify how content on their web sites interacts. The goal is to help detect and mitigate attacks including cross-site scripting and data injection attacks.</dd> + <dt>ForceTLS</dt> + <dd>Details soon.</dd> + <dt>The Account Manager</dt> + <dd>Details soon.</dd> +</dl> + +<h3 id="JavaScript">JavaScript</h3> + +<p>For an overview of the changes implemented in JavaScript 1.8.5, see <a href="/en/New_in_JavaScript_1.8.5" title="en/New in JavaScript 1.8.5">New in JavaScript 1.8.5</a>. JavaScript in Firefox 4 will have additional adherence to the ECMAScript 5 standard.</p> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>For helpful tips on updating existing extensions for Firefox 4, see <a href="/en/Extensions/Updating_extensions_for_Firefox_4" title="en/Extensions/Updating extensions for Firefox 4">Updating extensions for Firefox 4</a>.</p> + +<h3 id="JavaScript_code_modules">JavaScript code modules</h3> + +<dl> + <dt><a href="/en/JavaScript/Code_modules/Services.jsm" title="en/JavaScript code modules/Services.jsm">Services.jsm</a></dt> + <dd>The <code>Services.jsm</code> code module provides getters that make it easy to obtain references to commonly-used services, such as the preferences service or the window mediator, among others.</dd> +</dl> + +<dl> + <dt><a href="/en/JavaScript/Code_modules/ctypes.jsm" title="en/JavaScript code modules/ctypes.jsm">JS-ctypes API</a></dt> + <dd>The JS-ctypes API makes it possible to call C-compatible foreign library functions without using XPCOM.</dd> + <dt><a href="/en/Addons/Add-on_Manager" title="en/Addons/Add-on Manager">Add-ons Manager</a></dt> + <dd>The new Add-ons Manager provides information about installed add-ons, support for managing them, and provides ways to install and remove add-ons.</dd> + <dt><a href="/en/JavaScript/Code_modules/Using#Locating_the_code_module" title="en/JavaScript code modules/Using JavaScript code modules#Locating the code module">Loading code modules from chrome: URLs</a></dt> + <dd>You can now load JavaScript code modules using <strong>chrome:</strong> URLs, even inside JAR files.</dd> +</dl> + +<h3 id="DOM_changes">DOM changes</h3> + +<dl> + <dt>{{ domxref("ChromeWorker") }}</dt> + <dd>A new type of worker for privileged code; this lets you use things like <a href="/en/js-ctypes" title="en/js-ctypes">js-ctypes</a> from workers in extensions and application code.</dd> +</dl> + +<h3 id="XUL">XUL</h3> + +<h4 id="tabbrowser_(gBrowser)_changes">tabbrowser (gBrowser) changes</h4> + +<p>Several changes were made to the {{ XULElem("tabbrowser") }} element that impact extensions that interact with tabs.</p> + +<ul> + <li>TabClose/TabSelect/TabOpen events no longer bubble up to the {{ XULElem("tabbrowser") }} element (gBrowser). Event listeners for those events should be added to gBrowser.tabContainer rather than to gBrowser directly.</li> + <li>The tab context menu is no longer an anonymous child of the {{ XULElem("tabbrowser") }}. It can therefore be overlaid directly with <a href="/en/XUL_Overlays" title="en/XUL Overlays">XUL overlays</a>. It can also be accessed more directly in JS via gBrowser.tabContextMenu. See <a class="external" href="http://www.gavinsharp.com/blog/2010/03/31/accessingmodifying-the-firefox-tab-context-menu-from-extensions/" title="http://www.gavinsharp.com/blog/2010/03/31/accessingmodifying-the-firefox-tab-context-menu-from-extensions/">this blog post</a> for more details.</li> +</ul> + +<h4 id="Miscellaneous_XUL_changes">Miscellaneous XUL changes</h4> + +<ul> + <li>The {{ xulattr("readonly") }} attribute now correctly works for fields.</li> + <li>The {{ xulelem("resizer") }} element now lets you use the {{ xulattr("element") }} attribute to specify an element to resize, instead of resizing the window.</li> + <li>The "active" attribute no longer gets set on active XUL windows. Instead, you can use the new {{ cssxref(":-moz-window-inactive") }} pseudoclass in order to assign different styles to background windows.</li> + <li>The {{ xulattr("emptytext") }} attribute is now deprecated; you should use {{ xulattr("placeholder") }} instead.</li> + <li>The {{ xulelem("popup") }} element is no longer supported; you should use {{ xulelem("menupopup") }} instead.</li> +</ul> + +<h3 id="Storage">Storage</h3> + +<h4 id="Miscellaneous_storage_API_changes">Miscellaneous storage API changes</h4> + +<ul> + <li>The {{ interface("mozIStorageBindingParamsArray") }} interface now has a length attribute that indicates the number of {{ interface("mozIStorageBindingParams") }} objects in the array.</li> + <li>The {{ ifmethod("mozIStorageStatement", "bindParameters") }} now returns an error if the specified {{ interface("mozIStorageBindingParamsArray") }} is empty.</li> +</ul> + +<h3 id="XPCOM">XPCOM</h3> + +<dl> + <dt><a href="/en/Extensions/Updating_extensions_for_Firefox_4" title="https://developer.mozilla.org/en/Extensions/Updating_extensions_for_Firefox_4">XPCOM changes in Gecko 1.9.3</a></dt> + <dd>Details about changes to XPCOM that impact compatibility in Firefox 4.</dd> + <dt><a href="/en/Components.utils.getGlobalForObject" title="en/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject()</a></dt> + <dd>This new method returns the global object with which an object is associated; this replaces a common use case of the now-removed <code>__parent__</code>.</dd> +</dl> + +<h3 id="Memory_management">Memory management</h3> + +<dl> + <dt><a href="/en/Infallible_memory_allocation" title="en/Infallible memory allocation">Infallible memory allocation</a></dt> + <dd>Mozilla now provides infallible memory allocators that are guaranteed not to return null. You should read this article to learn how they work and how to explicitly request fallible versus infallible memory allocation.</dd> +</dl> + +<h2 id="Other_changes">Other changes</h2> + +<dl> + <dt>Gopher support removed</dt> + <dd>The Gopher protocol is no longer supported natively. Continued support is available via the <a class="link-https" href="https://addons.mozilla.org/addon/7685/">OverbiteFF</a> extension.</dd> + <dt>Default plugin removed</dt> + <dd>The default plugin has been removed. The application plugins folder has also been removed by default, however support for installing plugins via this folder still exists. See <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=533891">bug 533891</a>.</dd> + <dt>Extension Manager replaced with AddonManager</dt> + <dd><a href="/en/XPCOM_Interface_Reference/nsIExtensionManager" title="en/nsIExtensionManager">nsIExtensionManager</a> has been replaced by <a href="/en/Addons/Add-on_Manager/AddonManager" title="en/Addons/Add-on_Manager/AddonManager">AddonManager</a>. Since there is apparently no way at present to obtain the install location from a given extension ID, the closest workaround is to use the directory service to find the profile directory and append "extensions" to it (though this approach will not catch extensions outside of the profile directory or those which are aliased to another location).</dd> +</dl> + +<h2 id="參考">參考</h2> + +<ul> + <li><a href="/en/Firefox_3.6_for_developers" title="en/Firefox 3.6 for developers">Firefox 3.6 for developers</a></li> + <li><a class="internal" href="/En/Firefox_3.5_for_developers" title="En/Firefox 3.5 for developers">Firefox 3.5 for developers</a></li> + <li><a class="internal" href="/en/Firefox_3_for_developers" title="en/Firefox 3 for developers">Firefox 3 for developers</a></li> + <li><a class="internal" href="/en/Firefox_2_for_developers" title="en/Firefox 2 for developers">Firefox 2 for developers</a></li> + <li><a class="internal" href="/en/Firefox_1.5_for_developers" title="en/Firefox 1.5 for developers">Firefox 1.5 for developers</a></li> +</ul> diff --git a/files/zh-tw/mozilla/firefox/releases/4/index.html b/files/zh-tw/mozilla/firefox/releases/4/index.html new file mode 100644 index 0000000000..394f07815e --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/4/index.html @@ -0,0 +1,231 @@ +--- +title: Firefox 4 技術文件 +slug: Mozilla/Firefox/Releases/4 +translation_of: Mozilla/Firefox/Releases/4 +--- +<div>{{FirefoxSidebar}}</div><p>2010 年六月起進入 Beta 測試期的 Firefox 4,增進了效能、加強針對 HTML 5 及其他創新網際科技的支援程度,也更加安全。本文為網頁、附加元件、Gecko 平台開發者們提供這一版的簡要技術相關資訊。</p> + +<div class="geckoVersionNote"> +<p>{{ gecko_callout_heading("2") }}</p> + +<p>Gecko 1.9.3 即將更名為 Gecko 2,但許多文件還沒有針對此點更新,在接下來的幾個星期中才會有所更動。</p> +</div> + +<p>以下大部分的功能都已經可以在 <a class="external" href="http://nightly.mozilla.org/" title="http://nightly.mozilla.org/">逐日建置版</a>中試用。</p> + +<div class="note"><strong>註:</strong>本文、以及本文所連結的其他文件仍持續編修中,很多文件的名稱只是暫定、有些主題的文件也可能會拆成幾份子文件以方便閱讀。中文團隊的目標將僅翻譯這份概覽,其他子文件則有待大家的幫忙。</div> + +<h2 id="Features_for_web_developers">Features for web developers</h2> + +<p>Gecko now uses the <a href="/en/HTML/HTML5" title="en/HTML/HTML5">HTML5</a> parser, which fixes bugs, improves interoperability, and improves performance. It also lets content embed <a href="/en/SVG" title="en/SVG">SVG</a> and <a href="/en/MathML" title="en/MathML">MathML</a> directly in the HTML markup.</p> + +<h3 id="HTML">HTML</h3> + +<dl> + <dt>Introduction to the HTML5 parser</dt> + <dd>A look at what the HTML5 parser means to you, and how to embed SVG and MathML into your content inline.</dd> + <dt><a href="/en/HTML/HTML5/Forms_in_HTML5" title="en/HTML/Forms in HTML5">Forms in HTML5</a></dt> + <dd>A look at improvements to web forms in HTML5.</dd> + <dt><a href="/en/Sections_and_Outlines_of_an_HTML5_document" title="en/Sections and Outlines of an HTML5 document">HTML5 Sections</a></dt> + <dd>Gecko now supports the new HTML5 elements related to sections in a document: {{ HTMLElement("article") }}, {{ HTMLElement("section") }}, {{ HTMLElement("nav") }}, {{ HTMLElement("aside") }}, {{ HTMLElement("hgroup") }}, {{ HTMLElement("header") }} and {{ HTMLElement("footer") }}.</dd> + <dt>Other HTML5 elements</dt> + <dd>Gecko now also supports the following new HTML5 elements: {{ HTMLElement("mark") }}, {{ HTMLElement("figure") }} and {{ HTMLElement("figcaption") }}.</dd> + <dt>WebSockets</dt> + <dd>A guide to using the new WebSockets API for real-time communication between a web application and a server.</dd> +</dl> + +<h4 id="Miscellaneous_HTML_changes">Miscellaneous HTML changes</h4> + +<ul> + <li>{{ HTMLElement("textarea") }} elements are now resizable by default; you can use the {{ cssxref("resize") }} CSS property to disable this.</li> + <li><code>canvas.getContext</code> and <code>canvas.toDataURL</code> no longer throw an exception when called with unrecognized arguments.</li> + <li><code>canvas2dcontext.globalCompositeOperation</code>, <code>canvas2dcontext.lineCap</code> and <code>canvas2dcontext.lineJoin</code> no longer throw an exception when set to an unrecognized value.</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<dl> + <dt><a href="/en/CSS/CSS_transitions" title="en/CSS/CSS transitions">CSS transitions</a></dt> + <dd>New CSS transitions support is available in Firefox 4.</dd> + <dt>Computed values in CSS</dt> + <dd>Support for<code> calc() </code>to compute values in CSS is in progress. See {{ bug(363249) }}.</dd> + <dt>Selector grouping</dt> + <dd>Support for {{ cssxref(":-moz-any") }} to group selectors and factorize combinators.</dd> + <dt>Background image subrectangle support</dt> + <dd>The {{ cssxref("-moz-image-rect") }} property makes it possible to use subrectangles of images as a background image.</dd> + <dt>CSS touch properties</dt> + <dd>Support for touch properties is added. Details, and real article names, to come later.</dd> + <dt><a href="/en/CSS/Privacy_and_the_:visited_selector" title="en/CSS/Privacy and the :visited selector">Privacy and the :visited selector</a></dt> + <dd>Changes have been made to what information can be obtained about the style of visited links using CSS selectors. This may affect some web applications.</dd> +</dl> + +<h4 id="Miscellaneous_CSS_changes">Miscellaneous CSS changes</h4> + +<ul> + <li>The {{ cssxref("text-shadow") }} property now caps the blur radius to 300px for sanity and performance reasons.</li> + <li>The {{ cssxref(":-moz-window-inactive") }} pseudoclass has been implemented.</li> + <li>The {{ cssxref("-moz-tab-size") }} property lets you specify the width in space characters of a tab character (U+0009) when rendering text.</li> + <li>The CSS3 {{ cssxref("resize") }} property has been implemented.</li> + <li>The<code> -moz-background-size </code>property has been renamed to its final {{ cssxref("background-size") }} naming; <code>-moz-background-size</code> is no longer supported.</li> + <li>The {{ cssxref("oveflow") }} property no longer applies to table-group elements ({{ HTMLElement("thead") }}, {{ HTMLElement("tbody") }}, and {{ HTMLElement("tfoot") }}).</li> +</ul> + +<h3 id="Graphics_and_video">Graphics and video</h3> + +<dl> + <dt> </dt> + <dt><a href="/en/WebGL" title="en/WebGL">WebGL</a></dt> + <dd>The developing WebGL standard is now supported by Firefox.</dd> + <dt>Optimizing graphics performance</dt> + <dd>Tips and tricks for getting the most out of graphics and video performance in Firefox 4.</dd> + <dt><a href="/En/Media_formats_supported_by_the_audio_and_video_elements#WebM" title="En/Media formats supported by the audio and video elements#WebM">Support for WebM video</a></dt> + <dd>The new open <a class="external" href="http://www.webmproject.org/" title="http://www.webmproject.org/">WebM</a> video format is supported by Gecko 1.9.3; support is included in nightlies as of 9 June.</dd> + <dt>Full screen API</dt> + <dd>Details coming soon.</dd> + <dt>SMIL animation</dt> + <dd>Support for SMIL animation of SVG is now available. See {{ bug(482402) }}.</dd> + <dt>Using SVG as images and as CSS backgrounds</dt> + <dd>You can now use SVG with the {{ htmlelement("img") }} element, as well as the background image in CSS. See {{ bug(272288) }}, {{ bug(276431) }} and {{ bug(231179) }}.</dd> +</dl> + +<h3 id="DOM">DOM</h3> + +<dl> + <dt>Obtaining boundary rectangles for ranges</dt> + <dd>The Range object now has <code>getClientRects()</code> and <code>getBoundingClientRect()</code> methods. See {{ bug(396392) }}.</dd> + <dt>Capturing mouse events on arbitrary elements</dt> + <dd>Support for the Internet Explorer-originated <code>setCapture()</code> and <code>releaseCapture()</code> APIs has been added. See {{ bug(503943) }}.</dd> + <dt><a href="/en/DOM/Manipulating_the_browser_history" title="en/DOM/Manipulating the browser history">Manipulating the browser history</a></dt> + <dd>The existing document history object, available through the {{ domxref("window.history") }} object, now supports the new HTML5 <code>pushState()</code> and <code>replaceState()</code> methods.</dd> + <dt>Touch and multi-touch events</dt> + <dd>Support has been added for touch and multi-touch events.</dd> + <dt><a href="/en/IndexedDB" title="IndexedDB">IndexedDB</a></dt> + <dd>The proposed IndexedDB standard, which provides a local database store for web applications, will be supported by Firefox 4.</dd> +</dl> + +<h4 id="Miscellaneous_DOM_changes">Miscellaneous DOM changes</h4> + +<ul> + <li>The wrapping of a {{ HTMLElement("textarea") }} element can now be controlled via the DOM, via the <code>wrap</code> DOM attribute. {{ bug(41464) }}</li> + <li>DOM {{ domxref("file") }} objects now offer a <code>url</code> property.</li> + <li>DOM {{ domxref("file") }} objects now have a new <code>click()</code> method. (Note: not done yet, see <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=36619" title="https://bugzilla.mozilla.org/show_bug.cgi?id=36619">bug 36619</a>.)</li> + <li><a href="/En/XMLHttpRequest/Using_XMLHttpRequest#Using_FormData_objects" title="en/XMLHttpRequest/Using XMLHttpRequest#Using FormData objects">FormData</a> support for XMLHttpRequest.</li> + <li>The {{ domxref("element.isContentEditable") }} property has been implemented.</li> + <li>Added the <a href="/En/DragDrop/DataTransfer#mozSourceNode" title="En/DragDrop/DataTransfer#mozSourceNode"><code>mozSourceNode</code></a> property to the <a href="/En/DragDrop/DataTransfer" title="En/DragDrop/DataTransfer"><code>DragTransfer</code></a> object.</li> + <li>Added the <a href="/en/DOM/Selection/modify" title="en/DOM/selection/modify"><code>selection.modify()</code></a> method to the {{ domxref("Selection") }} object; this lets you easily alter the current text selection or cursor position in a browser window.</li> + <li>Support for the <code>window.directories</code> object and the <code>directories</code> feature for {{ domxref("window.open") }}, which are not supported in any other browser, has been removed. Use <code>personalbar</code> instead. {{ Bug(474058) }}</li> + <li>The {{ domxref("event.mozInputSource") }} property has been added to DOM user interface events; this non-standard property lets you determine the type of device that generated an event.</li> + <li>The {{ domxref("document.onreadystatechange") }} event has been implemented.</li> + <li>The {{ domxref("document.createElement") }} method no longer accepts <code><</code> and <code>></code> around the tag name in quirks mode.</li> +</ul> + +<h3 id="Security">Security</h3> + +<dl> + <dt><a href="/en/Security/CSP/Introducing_Content_Security_Policy" title="en/Introducing Content Security Policy">Introducing Content Security Policy</a></dt> + <dd>Content Security Policy (CSP) is a Mozilla proposal designed to help web designers and server administrators specify how content on their web sites interacts. The goal is to help detect and mitigate attacks including cross-site scripting and data injection attacks.</dd> + <dt>ForceTLS</dt> + <dd>Details soon.</dd> + <dt>The Account Manager</dt> + <dd>Details soon.</dd> +</dl> + +<h3 id="JavaScript">JavaScript</h3> + +<p>For an overview of the changes implemented in JavaScript 1.8.5, see <a href="/en/JavaScript/New_in_JavaScript/1.8.5" title="en/New in JavaScript 1.8.5">New in JavaScript 1.8.5</a>. JavaScript in Firefox 4 will have additional adherence to the ECMAScript 5 standard.</p> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>For helpful tips on updating existing extensions for Firefox 4, see <a href="/en/Extensions/Updating_extensions_for_Firefox_4" title="en/Extensions/Updating extensions for Firefox 4">Updating extensions for Firefox 4</a>.</p> + +<h3 id="JavaScript_code_modules">JavaScript code modules</h3> + +<dl> + <dt><a href="/en/JavaScript_code_modules/Services.jsm" title="en/JavaScript code modules/Services.jsm">Services.jsm</a></dt> + <dd>The <code>Services.jsm</code> code module provides getters that make it easy to obtain references to commonly-used services, such as the preferences service or the window mediator, among others.</dd> +</dl> + +<dl> + <dt><a href="/en/JavaScript_code_modules/ctypes.jsm" title="en/JavaScript code modules/ctypes.jsm">JS-ctypes API</a></dt> + <dd>The JS-ctypes API makes it possible to call C-compatible foreign library functions without using XPCOM.</dd> + <dt><a href="/en/Addons/Add-on_Manager" title="en/Addons/Add-on Manager">Add-ons Manager</a></dt> + <dd>The new Add-ons Manager provides information about installed add-ons, support for managing them, and provides ways to install and remove add-ons.</dd> + <dt><a href="/en/JavaScript_code_modules/Using#Locating_the_code_module" title="en/JavaScript code modules/Using JavaScript code modules#Locating the code module">Loading code modules from chrome: URLs</a></dt> + <dd>You can now load JavaScript code modules using <strong>chrome:</strong> URLs, even inside JAR files.</dd> +</dl> + +<h3 id="DOM_changes">DOM changes</h3> + +<dl> + <dt>{{ domxref("ChromeWorker") }}</dt> + <dd>A new type of worker for privileged code; this lets you use things like <a href="/en/js-ctypes" title="en/js-ctypes">js-ctypes</a> from workers in extensions and application code.</dd> +</dl> + +<h3 id="XUL">XUL</h3> + +<h4 id="tabbrowser_(gBrowser)_changes">tabbrowser (gBrowser) changes</h4> + +<p>Several changes were made to the {{ XULElem("tabbrowser") }} element that impact extensions that interact with tabs.</p> + +<ul> + <li>TabClose/TabSelect/TabOpen events no longer bubble up to the {{ XULElem("tabbrowser") }} element (gBrowser). Event listeners for those events should be added to gBrowser.tabContainer rather than to gBrowser directly.</li> + <li>The tab context menu is no longer an anonymous child of the {{ XULElem("tabbrowser") }}. It can therefore be overlaid directly with <a href="/en/XUL_Overlays" title="en/XUL Overlays">XUL overlays</a>. It can also be accessed more directly in JS via gBrowser.tabContextMenu. See <a class="external" href="http://www.gavinsharp.com/blog/2010/03/31/accessingmodifying-the-firefox-tab-context-menu-from-extensions/" title="http://www.gavinsharp.com/blog/2010/03/31/accessingmodifying-the-firefox-tab-context-menu-from-extensions/">this blog post</a> for more details.</li> +</ul> + +<h4 id="Miscellaneous_XUL_changes">Miscellaneous XUL changes</h4> + +<ul> + <li>The {{ xulattr("readonly") }} attribute now correctly works for fields.</li> + <li>The {{ xulelem("resizer") }} element now lets you use the {{ xulattr("element") }} attribute to specify an element to resize, instead of resizing the window.</li> + <li>The "active" attribute no longer gets set on active XUL windows. Instead, you can use the new {{ cssxref(":-moz-window-inactive") }} pseudoclass in order to assign different styles to background windows.</li> + <li>The {{ xulattr("emptytext") }} attribute is now deprecated; you should use {{ xulattr("placeholder") }} instead.</li> + <li>The {{ xulelem("popup") }} element is no longer supported; you should use {{ xulelem("menupopup") }} instead.</li> +</ul> + +<h3 id="Storage">Storage</h3> + +<h4 id="Miscellaneous_storage_API_changes">Miscellaneous storage API changes</h4> + +<ul> + <li>The {{ interface("mozIStorageBindingParamsArray") }} interface now has a length attribute that indicates the number of {{ interface("mozIStorageBindingParams") }} objects in the array.</li> + <li>The {{ ifmethod("mozIStorageStatement", "bindParameters") }} now returns an error if the specified {{ interface("mozIStorageBindingParamsArray") }} is empty.</li> +</ul> + +<h3 id="XPCOM">XPCOM</h3> + +<dl> + <dt><a href="/en/Extensions/Updating_extensions_for_Firefox_4" title="https://developer.mozilla.org/en/Extensions/Updating_extensions_for_Firefox_4">XPCOM changes in Gecko 1.9.3</a></dt> + <dd>Details about changes to XPCOM that impact compatibility in Firefox 4.</dd> + <dt><a href="/en/Components.utils.getGlobalForObject" title="en/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject()</a></dt> + <dd>This new method returns the global object with which an object is associated; this replaces a common use case of the now-removed <code>__parent__</code>.</dd> +</dl> + +<h3 id="Memory_management">Memory management</h3> + +<dl> + <dt><a href="/en/Infallible_memory_allocation" title="en/Infallible memory allocation">Infallible memory allocation</a></dt> + <dd>Mozilla now provides infallible memory allocators that are guaranteed not to return null. You should read this article to learn how they work and how to explicitly request fallible versus infallible memory allocation.</dd> +</dl> + +<h2 id="Other_changes">Other changes</h2> + +<dl> + <dt>Gopher support removed</dt> + <dd>The Gopher protocol is no longer supported natively. Continued support is available via the <a class="link-https" href="https://addons.mozilla.org/addon/7685/">OverbiteFF</a> extension.</dd> + <dt>Default plugin removed</dt> + <dd>The default plugin has been removed. The application plugins folder has also been removed by default, however support for installing plugins via this folder still exists. See <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=533891">bug 533891</a>.</dd> + <dt>Extension Manager replaced with AddonManager</dt> + <dd><a href="/en/XPCOM_Interface_Reference/nsIExtensionManager" title="en/nsIExtensionManager">nsIExtensionManager</a> has been replaced by <a href="/en/Addons/Add-on_Manager/AddonManager" title="en/Addons/Add-on_Manager/AddonManager">AddonManager</a>. Since there is apparently no way at present to obtain the install location from a given extension ID, the closest workaround is to use the directory service to find the profile directory and append "extensions" to it (though this approach will not catch extensions outside of the profile directory or those which are aliased to another location).</dd> +</dl> + +<h2 id="參考">參考</h2> + +<ul> + <li><a href="/en/Firefox_3.6_for_developers" title="en/Firefox 3.6 for developers">Firefox 3.6 for developers</a></li> + <li><a class="internal" href="/En/Firefox_3.5_for_developers" title="En/Firefox 3.5 for developers">Firefox 3.5 for developers</a></li> + <li><a class="internal" href="/en/Firefox_3_for_developers" title="en/Firefox 3 for developers">Firefox 3 for developers</a></li> + <li><a class="internal" href="/en/Firefox_2_for_developers" title="en/Firefox 2 for developers">Firefox 2 for developers</a></li> + <li><a class="internal" href="/en/Firefox_1.5_for_developers" title="en/Firefox 1.5 for developers">Firefox 1.5 for developers</a></li> +</ul> + +<p>{{ languages( { "en": "en/Firefox_4_for_developers", "de": "de/Firefox_4_fur_Entwickler", "ja": "ja/Firefox_4_for_developers"} ) }}</p> diff --git a/files/zh-tw/mozilla/firefox/releases/5/index.html b/files/zh-tw/mozilla/firefox/releases/5/index.html new file mode 100644 index 0000000000..cba3c4563b --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/5/index.html @@ -0,0 +1,165 @@ +--- +title: Firefox 5 技術文件 +slug: Mozilla/Firefox/Releases/5 +translation_of: Mozilla/Firefox/Releases/5 +--- +<div>{{FirefoxSidebar}}</div> + +<p>Firefox 5,基於 Gecko 5.0,在 2011 年六月21日發行。本文將提供這次發行會對開發者所生影響之資訊。</p> + +<h2 id="網路開發者的改變">網路開發者的改變</h2> + +<h3 id="HTML">HTML</h3> + +<ul> + <li>所有的 HTML 元素現在都有 {{ domxref("element.accessKey", "accessKey") }} 屬性,{{ domxref("element.blur()", "blur()") }}、{{ domxref("element.click()", "click()") }}、{{ domxref("element.focus()", "focus()") }} 方法也是。這些都在 {{ domxref("HTMLElement") }} 介面受到規範化。</li> + <li>為了遵從 HTML5 規範,移除了針對 UTF-7 與 UTF-32 <a href="/zh-TW/Character_Sets_Supported_by_Gecko">字符集</a>的支援。</li> + <li>處於怪異模式(quirks mode)的時候,空白的 {{ HTMLElement("map") }} 支持非空匹配時,再也不跳過。需要更多資訊,請參閱 <a href="/zh-TW/HTML/Element/map#Gecko_notes">Gecko notes</a> 的 {{ HTMLElement("map") }} 元素。</li> + <li>針對 Android 的 Firefox mobile,{{ cssxref("@font-face") }} 現在支援 WOFF 字型。</li> + <li>出於安全考量,WebGL <a href="/zh-TW/WebGL/Cross-Domain_Textures">再也不加載來自其他網域的紋理</a>。<a href="/zh-TW/HTTP_access_control">HTTP access control</a> support should be coming sometime in the future to make this possible more securely.</li> +</ul> + +<h4 id="Canvas_improvements">Canvas improvements</h4> + +<ul> + <li>The {{ HTMLElement("canvas") }} 2D drawing context now supports specifying an <code>ImageData</code> object as the input to the <code>createImageData()</code> method; this <a href="/En/HTML/Canvas/Pixel_manipulation_with_canvas#Creating_an_ImageData_object" title="En/HTML/Canvas/Pixel manipulation with canvas#Creating an ImageData object">creates a new <code>ImageData</code> object</a> initialized with the same dimensions as the specified object, but still with all pixels preset to transparent black. This was documented as implemented already but was not.</li> + <li>Specifying non-finite values when adding color stops through a call to the {{ domxref("CanvasGradient") }} method <code>addColorStop()</code> now correctly throws <code>INDEX_SIZE_ERR</code> instead of <code>SYNTAX_ERR</code>.</li> + <li>The {{ domxref("HTMLCanvasElement") }} method <code>toDataURL()</code> now correctly lower-cases the specified MIME type before matching.</li> + <li><code>getImageData()</code> now correctly accepts rectangles that extend beyond the bounds of the canvas; pixels outside the canvas are returned as transparent black.</li> + <li><code>drawImage()</code> and <code>createImageData()</code> now handle negative arguments in accordance with the specification, by flipping the rectangle around the appropriate axis. <strong>We need an article about <a class="external" href="http://dev.w3.org/csswg/css3-images/#default-sizing" title="http://dev.w3.org/csswg/css3-images/#default-sizing">CSS sizing</a> and how this works.</strong></li> + <li>Specifying non-finite values when calling <code>createImageData()</code> now properly throws a <code>NOT_SUPPORTED_ERR</code> exception.</li> + <li><code>createImageData()</code> and <code>getImageData()</code> now correctly return at least one pixel's worth of image data if a rectangle smaller than one pixel is specified.</li> + <li>Specifying a negative radius when calling <code>createRadialGradient()</code> now correctly throws <code>INDEX_SIZE_ERR</code>.</li> + <li>Specifying a <code>null</code> or <code>undefined</code> image when calling <code>createPattern()</code> or <code>drawImage()</code> now correctly throws a <code>TYPE_MISMATCH_ERR</code> exception.</li> + <li>Specifying invalid values for <code>globalAlpha</code> no longer throws a <code>SYNTAX_ERR</code> exception; these are now correctly silently ignored.</li> + <li>Specifying invalid values when calling <code>translate()</code>, <code>transform()</code>, <code>rect()</code>, <code>clearRect()</code>, <code>fillRect()</code>, <code>strokeRect()</code>, <code>lineTo()</code>, <code>moveTo()</code>, <code>quadraticCurveTo()</code>, or <code>arc()</code> no longer throws an exception; these calls are now correctly silently ignored.</li> + <li>Setting the value of <code>shadowOffsetX</code>, <code>shadowOffsetY</code>, or <code>shadowBlur</code> to an invalid value is now silently ignored.</li> + <li>Setting the value of <code>rotate</code> or <code>scale</code> to an invalid value is now silently ignored.</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<dl> + <dt><a href="/en/CSS/CSS_animations" title="en/CSS/CSS animations">CSS animations</a></dt> + <dd>Support for CSS animations has been added, using the <code>-moz-</code> prefix for now.</dd> +</dl> + +<h3 id="DOM">DOM</h3> + +<ul> + <li>The {{ domxref("selection") }} object's <a href="/en/DOM/Selection/modify" title="en/DOM/Selection/modify"><code>modify()</code></a> method has been changed so that the "word" selection granularity no longer includes trailing spaces; this makes it more consistent across platforms and matches the behavior of WebKit's implementation.</li> + <li>The {{ domxref("window.setTimeout()") }} method now clamps to send no more than one timeout per second in inactive tabs. In addition, it now clamps nested timeouts to the smallest value allowed by the HTML5 specification: 4 ms (instead of the 10 ms it used to clamp to).</li> + <li>Similarly, the {{ domxref("window.setInterval()") }} method now clamps to no more than one interval per second in inactive tabs.</li> + <li><a href="/en/DOM/XMLHttpRequest" title="en/XMLHttpRequest"><code>XMLHttpRequest</code></a> now <a href="/en/DOM/XMLHttpRequest/Using_XMLHttpRequest#Detecting_any_load_end_condition" title="en/XMLHttpRequest/Using XMLHttpRequest#Detecting any load end condition">supports the <code>loadend</code> event</a> for progress listeners. This is sent after any transfer is finished (that is, after the <code>abort</code>, <code>error</code>, or <code>load</code> event). You can use this to handle any tasks that need to be performed regardless of success or failure of a transfer.</li> + <li>The {{ domxref("Blob") }} and, by extension, the {{ domxref("File") }} objects' <code>slice()</code> method has been removed and replaced with a new, proposed syntax that makes it more consistent with <a href="/en/JavaScript/Reference/Global_Objects/Array/slice" title="en/JavaScript/Reference/Global Objects/Array/slice"><code>Array.slice()</code></a> and <a href="/en/JavaScript/Reference/Global_Objects/String/slice" title="en/JavaScript/Reference/Global Objects/String/slice"><code>String.slice()</code></a> methods in JavaScript. This method is named <a href="/en/DOM/Blob#mozSlice()" title="en/DOM/Blob#mozSlice()"><code>mozSlice()</code></a> for now.</li> + <li>The value of {{ domxref("window.navigator.language") }} is now determined by looking at the value of the <code>Accept-Language</code> <a href="/en/HTTP/Headers" title="en/HTTP/Headers">HTTP header</a>.</li> + <li>The {{ domxref("Node.prefix") }} property is now read only, as required by the DOM specification.</li> + <li>The {{ domxref("HTMLVideoElement") }} now supports experimental properties to get information about video paint statistics like frame rates.</li> +</ul> + +<h3 id="JavaScript">JavaScript</h3> + +<ul> + <li>Regular expressions are no longer callable as if they were functions; this change has been made in concert with the WebKit team to ensure compatibility (see {{ WebkitBug(28285) }}. This feature had existed for a long time but was never documented (at least, not here on MDC).</li> + <li>The <a href="/en/JavaScript/Reference/Global_Objects/Function/isGenerator" title="en/JavaScript/Reference/Global Objects/Function/isGenerator"><code>Function.prototype.isGenerator()</code></a> method is now supported; this lets you determine if a function is a <a href="/en/JavaScript/Guide/Iterators_and_Generators#Generators.3a_a_better_way_to_build_Iterators" title="en/Core JavaScript 1.5 Guide/Iterators and Generators#Generators.3a a better way to build Iterators">generator</a>.</li> + <li>The following <a href="/en/JavaScript/Reference/Reserved_Words" title="en/JavaScript/Reference/Reserved Words">reserved words</a> were previously only treated as reserved when in strict mode; now they're always treated as reserved: <code>class</code>, <code>enum</code>, <code>export</code>, <code>extends</code>, <code>import</code>, and <code>super</code>.</li> + <li>DOM documents created in chrome code may no longer be exposed to sandboxed scripts.</li> + <li>The JSON parser has been re-written for improved speed and compliance. This includes a fix for {{ bug("572279") }}.</li> +</ul> + +<h3 id="SVG">SVG</h3> + +<ul> + <li>The {{ SVGAttr("class") }} SVG attribute can now be animated.</li> + <li>The following SVG-related DOM interfaces representing lists of objects are now indexable and can be accessed like arrays; in addition, they have a <code>length</code> property indicating the number of items in the lists: {{ domxref("SVGLengthList") }}, {{ domxref("SVGNumberList") }}, {{ domxref("SVGPathSegList") }}, and {{ domxref("SVGPointList") }}.</li> +</ul> + +<h3 id="HTTP">HTTP</h3> + +<ul> + <li>Firefox no longer sends the <code>Keep-Alive</code> HTTP header; we weren't formatting it correctly, and it was redundant since we were also sending the {{ httpheader("Connection") }} or {{ httpheader("Proxy-Connection") }} header with the value "keep-alive" anyway.</li> + <li>The HTTP transaction model has been updated to be more intelligent about reusing connections in the persistent connection pool; instead of treating the pool as a {{ interwiki("wikipedia", "FIFO") }} queue, Necko now attempts to sort the pool with connections with the largest {{ interwiki("wikipedia", "congestion window") }} (CWND) first. This can reduce the round-trip time (RTT) of HTTP transactions by avoiding the need to grow connections' windows in many cases.</li> + <li>Firefox now handles the <code>Content-Disposition</code> HTTP response header more effectively if both the <code>filename</code> and <code>filename*</code> parameters are provided; it looks through all provided names, using the <code>filename*</code> parameter if one is available, even if a <code>filename</code> parameter is included first. Previously, the first matching parameter would be used, thereby preventing a more appropriate name from being used. See {{ bug(588781) }}.</li> +</ul> + +<h3 id="MathML">MathML</h3> + +<ul> + <li>Support for <a class="external" href="http://www.w3.org/TR/MathML3/chapter3.html#id.3.2.5.7.3" title="http://www.w3.org/TR/MathML3/chapter3.html#id.3.2.5.7.3">embellished operators</a></li> +</ul> + +<h3 id="Developer_tools">Developer tools</h3> + +<ul> + <li>The <a href="/en/Using_the_Web_Console#The_console_object" title="en/Using the Web Console#The console object">Web Console's <code>Console</code> object</a> now has a <code>debug()</code> method, which is an alias for its <code>log()</code> method; this improves compatibility with certain existing sites.</li> +</ul> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>For a guide to updating your add-on for Firefox 5, please see <a href="/en/Firefox/Updating_add-ons_for_Firefox_5" title="en/Firefox/Updating add-ons for Firefox 5">Updating add-ons for Firefox 5</a>.</p> + +<div class="note"><strong>Note:</strong> Firefox 5 requires that binary components be recompiled, as do all major releases of Firefox. See <a href="/En/Developer_Guide/Interface_Compatibility#Binary_Interfaces" title="En/Developer Guide/Interface Compatibility#Binary Interfaces">Binary Interfaces</a> for details.</div> + +<h3 id="Changes_to_JavaScript_code_modules">Changes to JavaScript code modules</h3> + +<h4 id="New_JavaScript_code_modules">New JavaScript code modules</h4> + +<ul> + <li>The <a href="/en/JavaScript_code_modules/Dict.jsm" title="en/JavaScript code modules/Dict.jsm"><code>Dict.jsm</code></a> code module was added; it provides an API for dictionaries of key/value pairs.</li> +</ul> + +<h4 id="NetUtil.jsm">NetUtil.jsm</h4> + +<ul> + <li>The <a href="/en/JavaScript_code_modules/NetUtil.jsm#asyncFetch()" title="en/JavaScript code modules/NetUtil.jsm#asyncFetch()"><code>asyncFetch()</code></a> method now supports specifying the input source as an {{ interface("nsIInputStream") }}.</li> +</ul> + +<h3 id="Interface_changes">Interface changes</h3> + +<ul> + <li>The {{ interface("nsIHttpChannelInternal") }} interface has new attributes providing access to information about the channels' endpoints' addresses and ports. This information is provided primarily for debugging purposes.</li> + <li>The {{ HTMLElement("canvas") }} element's {{ htmlattrxref("width", "canvas") }} and {{ htmlattrxref("height", "canvas") }} attributes are now reflected in IDL as unsigned integers instead of signed (see <a href="/en/DOM/HTMLCanvasElement" title="en/DOM/HTMLCanvasElement"><code>HTMLCanvasElement</code></a>).</li> + <li>The <code>nsIAppStartup2</code> and {{ interface("nsIAppStartup_MOZILLA_2_0") }} interfaces have been merged into the {{ interface("nsIAppStartup") }} interface.</li> + <li>The <code>nsIDocShell_MOZILLA_2_0_BRANCH</code> interface has been merged into the {{ interface("nsIDocShell") }} interface.</li> + <li>The <code>nsIFocusManager_MOZILLA_2_0_BRANCH</code> interface has been merged into the {{ interface("<code><code>nsIFocusManager</code></code>") }} interface.</li> + <li>The <code>nsIHTMLEditor_MOZILLA_2_0_BRANCH</code> interface has been merged into the {{ interface("nsIHTMLEditor") }} interface.</li> +</ul> + +<h4 id="New_interfaces">New interfaces</h4> + +<ul> + <li><code>nsIDOMAnimationEvent</code> added. {{domxref("AnimationEvent")}}</li> +</ul> + +<h4 id="Removed_interfaces">Removed interfaces</h4> + +<p>The following interfaces were implementation details that are no longer needed:</p> + +<ul> + <li><code>nsICiter</code> (see {{ bug("633066") }})</li> + <li><code>nsIDOM3Document</code> (see {{ bug("639849") }})</li> + <li><code>nsIFIXptrEvaluator</code></li> + <li><code>nsISelectElement</code> (see {{ bug("619996") }})</li> +</ul> + +<h3 id="Debugging_aids">Debugging aids</h3> + +<ul> + <li>The new <a href="/En/Namespace/Mozilla/DebugOnly%3CT%3E" title="En/Namespace/Mozilla/DebugOnly<T>"><code>DebugOnly<T></code></a> helper makes it possible to declare variables only for <code>DEBUG</code> builds.</li> +</ul> + +<h3 id="JavaScript_API_(SpiderMonkey)">JavaScript API (SpiderMonkey)</h3> + +<ul> + <li><a href="/en/SpiderMonkey/JSAPI_Reference/JS_DoubleToInt32" title="en/SpiderMonkey/JSAPI Reference/JS DoubleToInt32"><code>JS_DoubleToInt32()</code></a> and <a href="/en/SpiderMonkey/JSAPI_Reference/JS_DoubleToInt32" title="en/SpiderMonkey/JSAPI Reference/JS DoubleToInt32"><code>JS_DoubleToUint32()</code></a> have been added, for converting <code><a href="/en/SpiderMonkey/JSAPI_Reference/jsdouble" title="en/jsdouble">jsdouble</a></code> values into C integers and unsigned integers.</li> +</ul> + +<h3 id="Build_system_changes">Build system changes</h3> + +<ul> + <li>You can now build Firefox without a <code>mozconfig</code> file; the <a href="/en/Configuring_Build_Options#Choose_an_application" title="en/Configuring Build Options#Choose an application"><code>--enable-application</code> setting</a> now defaults to "browser". After pulling or downloading the code, you can simply <code>configure && make</code> (or <code>make -f client.mk</code>) to build Firefox.</li> +</ul> + +<h2 id="See_also">See also</h2> + +<div>{{Firefox_for_developers('4')}}</div> diff --git a/files/zh-tw/mozilla/firefox/releases/6/index.html b/files/zh-tw/mozilla/firefox/releases/6/index.html new file mode 100644 index 0000000000..bd3141a249 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/6/index.html @@ -0,0 +1,291 @@ +--- +title: Firefox 6 技術文件 +slug: Mozilla/Firefox/Releases/6 +translation_of: Mozilla/Firefox/Releases/6 +--- +<div><section class="Quick_links" id="Quick_Links"> + <ol> + <li class="toggle"> + <details> + <summary>Firefox developer release notes</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Releases">Firefox developer release notes</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>擴充套件</summary> + <ol> + <li><a href="/zh-TW/Add-ons/WebExtensions">瀏覽器擴充功能</a></li> + <li><a href="/zh-TW/Add-ons/Themes">主題</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Firefox internals</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/">Mozilla project</a></li> + <li><a href="/zh-TW/docs/Mozilla/Gecko">Gecko</a></li> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Headless_mode">Headless mode</a></li> + <li><a href="/zh-TW/docs/Mozilla/JavaScript_code_modules">JavaScript 程式碼模組</a></li> + <li><a href="/zh-TW/docs/Mozilla/js-ctypes">JS-ctypes</a></li> + <li><a href="/zh-TW/docs/Mozilla/MathML_Project">MathML 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/MFBT">MFBT</a></li> + <li><a href="/zh-TW/docs/Mozilla/Projects">Mozilla 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/Preferences">Preference system</a></li> + <li><a href="/zh-TW/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XPCOM">XPCOM</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XUL">XUL</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Building and contributing</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions">建置教學</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuring build options</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">How the build system works</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Mozilla 原始碼</a></li> + <li><a href="/zh-TW/docs/Mozilla/Localization">在地化</a></li> + <li><a href="/zh-TW/docs/Mozilla/Mercurial">Mercurial</a></li> + <li><a href="/zh-TW/docs/Mozilla/QA">Quality assurance</a></li> + <li><a href="/zh-TW/docs/Mozilla/Using_Mozilla_code_in_other_projects">在我們的專案中使用 Mozilla 程式碼</a></li> + </ol> + </details> + </li> + </ol> +</section></div><p>Firefox 6, based on Gecko 6.0, was released on August 16, 2011. This article provides links to information about the changes that affect developers in this release.</p> +<h2 id="Changes_for_web_developers">Changes for web developers</h2> +<h3 id="HTML">HTML</h3> +<dl> +</dl> +<ul> + <li>The HTML5 <a href="/zh-TW/docs/Web/HTML/Element/progress" title="The documentation about this has not yet been written; please consider contributing!"><code><progress></code></a> element, which lets you create a progress bar, is now supported.</li> + <li>The parsing of the HTML5 <a href="/zh-TW/docs/Web/HTML/Element/track" title="The documentation about this has not yet been written; please consider contributing!"><code><track></code></a> element, which specifies text tracks for media elements, is now supported. This element should appear in the DOM now, though its behavior is still not implemented.</li> + <li>The <a href="/zh-TW/docs/Web/HTML/Element/iframe" title="The documentation about this has not yet been written; please consider contributing!"><code><iframe></code></a> element is now clipped correctly by its container when the container's corners have been rounded using the <a href="/zh-TW/docs/Web/CSS/border-radius" title="The documentation about this has not yet been written; please consider contributing!"><code>border-radius</code></a> property.</li> + <li><a href="/zh-TW/docs/Web/HTML/Element/form" title="The documentation about this has not yet been written; please consider contributing!"><code><form></code></a> elements' text <a href="/zh-TW/docs/Web/HTML/Element/input" title="The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user."><code><input></code></a> fields no longer support the XUL <code><span><a href="https://developer.mozilla.org/zh-TW/docs/XUL/Property/maxwidth">maxwidth</a></span></code> property; this was never intentional, and is in violation of the HTML specification. You should instead use the <code><a href="/zh-TW/docs/Web/HTML/Element/input#attr-size">size</a></code> attribute to set the maximum width of input fields.</li> + <li>The <a href="/zh-TW/docs/Web/HTML/Element/canvas" title="這個 HTML <canvas> 元素 可以被使用於對腳本程式(JaveScript) 繪圖 .舉例來說, 它能用來畫圖,組合照片,甚至作動畫. 你也許(應該) 在<canvas>區段內提供替代方案的內容 .這內容將能被一些不支援<canvas>以及無法使用Javescript功能的瀏覽器所渲染 ."><code><canvas></code></a> <a href="/zh-TW/docs/Web/API/CanvasRenderingContext2d" title='要取得此實作此介面的實體物件,可以於一個 &lt;canvas> 元素上以 "2d" 為參數呼叫 getContext() 方法:'><code>CanvasRenderingContext2d</code></a> properties <code>fillStyle</code> and <code>strokeStyle</code> used to ignore garbage included after a valid color definition; now this is correctly treated as an error. For example, "red blue" as a color used to be treated as "red", when it should have been ignored.</li> + <li>The width and height of <a href="/zh-TW/docs/Web/HTML/Element/canvas" title="這個 HTML <canvas> 元素 可以被使用於對腳本程式(JaveScript) 繪圖 .舉例來說, 它能用來畫圖,組合照片,甚至作動畫. 你也許(應該) 在<canvas>區段內提供替代方案的內容 .這內容將能被一些不支援<canvas>以及無法使用Javescript功能的瀏覽器所渲染 ."><code><canvas></code></a> elements can now properly be set to 0px; previously, these were getting arbitrarily set to 300px when you tried to do that.</li> + <li>Support for the HTML <a href="/en/HTML/Global_attributes#attr-data-*" title="https://developer.mozilla.org/en/HTML/Global_attributes#attr-data-*">custom data attributes</a> (data-*) has been added. The DOM <a href="/zh-TW/docs/Web/API/Element/dataset" title="The documentation about this has not yet been written; please consider contributing!"><code>element.dataset</code></a> property allows to access them.</li> + <li>When a <a href="/zh-TW/docs/Web/HTML/Element/textarea" title="The documentation about this has not yet been written; please consider contributing!"><code><textarea></code></a> element receives focus, the text insertion point is now placed, by default, at the beginning of the text rather than at the end. This makes Firefox's behavior consistent with other browsers.</li> +</ul> +<h3 id="CSS">CSS</h3> +<dl> + <dt> + <a href="/zh-TW/docs/Web/CSS/text-decoration-color" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-text-decoration-color</code></a></dt> + <dd> + This new property lets you set the color used by text decorations, such as underlines, overlines, and strikethroughs.</dd> + <dt> + <a href="/zh-TW/docs/Web/CSS/text-decoration-line" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-text-decoration-line</code></a></dt> + <dd> + This new property lets you set the kind of text decorations added to an element.</dd> + <dt> + <a href="/zh-TW/docs/Web/CSS/text-decoration-style" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-text-decoration-style</code></a></dt> + <dd> + This new property lets you set the style of text decorations, such as underlines, overlines, and strikethroughs. Styles include single-strokes, double strokes, wavy lines, dotted lines, and so forth.</dd> + <dt> + <a href="/zh-TW/docs/Web/CSS/hyphens" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-hyphens</code></a></dt> + <dd> + This new property lets you control how hyphenation of words during line wrapping is handled.</dd> + <dt> + <a href="/zh-TW/docs/Web/CSS/orient" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-orient</code></a></dt> + <dd> + A new (currently Mozilla-specific) property which lets you control the vertical or horizontal orientation of certain elements (particularly <a href="/zh-TW/docs/Web/HTML/Element/progress" title="The documentation about this has not yet been written; please consider contributing!"><code><progress></code></a>).</dd> + <dt> + <a href="/zh-TW/docs/Web/CSS/::-moz-progress-bar" title="The documentation about this has not yet been written; please consider contributing!"><code>::-moz-progress-bar</code></a></dt> + <dd> + A Mozilla-specific pseudo-element that lets you style the area of an <a href="/zh-TW/docs/Web/HTML/Element/progress" title="The documentation about this has not yet been written; please consider contributing!"><code><progress></code></a> element representing the completed portion of a task.</dd> +</dl> +<h4 id="Other_changes">Other changes</h4> +<ul> + <li>The <a href="/zh-TW/docs/Web/CSS/@-moz-document" title="The documentation about this has not yet been written; please consider contributing!"><code>@-moz-document</code></a> property has a new <code>regexp()</code> function, which lets you match the document's URL to a <a href="/en/JavaScript/Guide/Regular_Expressions" title="en/Core JavaScript 1.5 Guide/Regular Expressions">regular expression</a>.</li> + <li>The <a href="/zh-TW/docs/Web/CSS/azimuth" title="The documentation about this has not yet been written; please consider contributing!"><code>azimuth</code></a> CSS property is no longer supported, as we have removed what little code we had for the <code>aural</code> media group. It was never significantly implemented, so it made more sense to remove the crufty implementation for the time being rather than try to patch it up.</li> + <li>In the past, the <a href="/zh-TW/docs/Web/CSS/:hover" title="The documentation about this has not yet been written; please consider contributing!"><code>:hover</code></a> pseudoclass was not applied to class selectors when in quirks mode; for example, <code>.someclass:hover</code> did not work. This quirk has been removed.</li> + <li>The <a href="/zh-TW/docs/Web/CSS/:indeterminate" title="The documentation about this has not yet been written; please consider contributing!"><code>:indeterminate</code></a> pseudo-class can be applied to <a href="/zh-TW/docs/Web/HTML/Element/progress" title="The documentation about this has not yet been written; please consider contributing!"><code><progress></code></a> elements. This is non-standard, but we hope it will be adopted by other browsers, because it will be useful.</li> + <li>The <code>-moz-win-exclude-glass </code>value has been added to the <a href="/zh-TW/docs/Web/CSS/-moz-appearance" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-appearance</code></a> CSS property in order to exclude opaque regions in Aero Glass glaze effects on Windows systems.</li> + <li> + <p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=658949" title="FIXED: data URL with hash - content doesn't match location.">bug 658949</a> changed how the hash (#) symbol is treated in data URIs which may break CSS stylesheets which contain such a symbol if it is not escaped.</p> + </li> +</ul> +<h3 id="DOM">DOM</h3> +<dl> + <dt> + <a href="/en/CSS/Using_media_queries_from_code" title="en/CSS/Using media queries from code">Using media queries from code</a></dt> + <dd> + You can now test the result of a media query string programmatically using the <a href="/zh-TW/docs/Web/API/Window/matchMedia" title="The documentation about this has not yet been written; please consider contributing!"><code>window.matchMedia()</code></a> method and the <a href="/zh-TW/docs/Web/API/MediaQueryList" title="MediaQueryList 物件維護一組針對 document 的 media querie , 並且當 media querie 相對應的文件狀態改變時,觸發註冊的事件處理器通知之。"><code>MediaQueryList</code></a> interface.</dd> + <dt> + <a href="/en/DOM/Touch_events" title="en/DOM/Touch events">Touch events</a></dt> + <dd> + Firefox 6 adds support for W3C standard touch events; these make it easy to interpret one or more touches at a time on touch-sensitive surfaces such as touch screens and trackpads.</dd> + <dt> + <a href="/en/Server-sent_events" title="en/Server-sent events">Server-sent events</a></dt> + <dd> + Server-sent events make it possible for a web application to ask a server to send events just like any locally-created DOM event.</dd> +</dl> +<ul> + <li><code>navigator.securityPolicy</code>, which has returned an empty string for a long time, has been removed outright.</li> + <li><a href="/zh-TW/docs/Web/API/BlobBuilder" title="The documentation about this has not yet been written; please consider contributing!"><code>BlobBuilder</code></a> is now implemented, although for now it's prefixed (so you need to use <code>MozBlobBuilder</code>).</li> + <li>The <a href="/zh-TW/docs/Web/API/Document/height" title="The documentation about this has not yet been written; please consider contributing!"><code>document.height</code></a> and <a href="/zh-TW/docs/Web/API/Document/width" title="傳回目前文件中,<body> 元素的寬度有多少像素。"><code>document.width</code></a> have been removed. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=585877" title="FIXED: remove document.height / document.width">bug 585877</a></li> + <li>The <a href="/zh-TW/docs/Web/API/DocumentType" title="DocumentType 介面表示了一個代表文件類型的 Node 節點。"><code>DocumentType</code></a> object's <code>entities</code> and <code>notations</code> properties, which were never implemented and always returned <code>null</code>, have been removed, since they've been removed from the specification anyway.</li> + <li>The <code>DOMConfiguration</code> interface and the <code>document.domConfig</code> property that used it have both been removed; they were never supported and have since been removed from the DOM specification.</li> + <li>The <code>hashchange</code> event now correctly includes <a href="/en/DOM/window.onhashchange#The_hashchange_event" title="en/DOM/window.onhashchange#The hashchange event">the <code>newURL</code> and <code>oldURL</code> fields</a>.</li> + <li>The <a href="/zh-TW/docs/Web/API/FileReader" title="藉由 FileReader 物件,Web 應用程式能以非同步(asynchronously)方式讀取儲存在用戶端的檔案(或原始資料暫存)內容,可以使用 File 或 Blob 物件指定要讀取的資料。"><code>FileReader</code></a> interface's <code>abort()</code> method now throws an exception when used if no file read is in progress.</li> + <li>The <a href="/zh-TW/docs/Web/API/Window/postMessage" title="The documentation about this has not yet been written; please consider contributing!"><code>window.postMessage()</code></a> method now uses <a href="/en/DOM/The_structured_clone_algorithm" title="en/DOM/The structured clone algorithm">the structured clone algorithm</a> to let you pass JavaScript objects instead of just strings from one window to another.</li> + <li>The <a href="/zh-TW/docs/Web/API/Window/history" title="The documentation about this has not yet been written; please consider contributing!"><code>window.history</code></a> API now uses <a href="/en/DOM/The_structured_clone_algorithm" title="en/DOM/The structured clone algorithm">the structured clone algorithm</a> to serialize the objects you pass to the <code>pushState()</code> and <code>replaceState()</code> methods; this lets you use more complex objects (including those that contain cyclic graphs of references).</li> + <li>You can now <a href="/en/Printing#Detecting_print_requests" title="https://developer.mozilla.org/en/Printing#Detecting_print_requests">detect when printing has been initiated and has completed</a> by listening for the new <code>beforeprint</code> and <code>afterprint</code> events.</li> + <li>The <code>document.strictErrorChecking</code> property has been removed, since it was never implemented and was removed from the DOM specification.</li> + <li>The standard <a href="/zh-TW/docs/Web/API/Event/defaultPrevented" title="回傳一個布林值,表示事件的預設行為是否被取消,也就是事件物件是否曾執行 preventDefault() 方法。"><code>event.defaultPrevented</code></a> property is now supported; you should use this instead of the non-standard <code>getPreventDefault()</code> method to detect whether or not <a href="/zh-TW/docs/Web/API/Event/preventDefault" title="如果事件可以被取消,就取消事件(即取消事件的預設行為)。但不會影響事件的傳遞,事件仍會繼續傳遞。"><code>event.preventDefault()</code></a> was called on the event.</li> + <li>The <a href="/zh-TW/docs/Web/API/Window/top" title="The documentation about this has not yet been written; please consider contributing!"><code>window.top</code></a> property is now properly read only.</li> + <li>DOM views, which we never documented, have been removed. This was a bit of implementation detail that was unnecessarily complicating things, so we got rid of it. If you notice this change, you're probably doing something wrong.</li> + <li>The <code>EventTarget</code> function <a href="/en/XPCOM_Interface_Reference/nsIDOMEventTarget" title="en/XPCOM Interface Reference/nsIDOMEventTarget"><code>addEventListener()</code></a>'s <code>useCapture</code> parameter is now optional, as it is in WebKit (and as per the latest version of the specification).</li> + <li>The <code>mozResponseArrayBuffer</code> property of the <a href="/en/DOM/XMLHttpRequest" title="en/XMLHttpRequest"><code>XMLHttpRequest</code></a> object has been replaced with the <code>responseType</code> and <code>response</code> properties.</li> + <li>The <a href="/zh-TW/docs/Web/API/Element/dataset" title="The documentation about this has not yet been written; please consider contributing!"><code>element.dataset</code></a> property has been added to the <a href="/en/DOM/HTMLElement" title="en/DOM/HTMLElement"><code>HTMLElement</code></a> interface allowing access to the <a href="/en/HTML/Global_attributes#attr-data-*" title="https://developer.mozilla.org/en/HTML/Global_attributes#attr-data-*"><code>data-*</code> global attributes</a> of an element.</li> + <li>The <a href="/zh-TW/docs/Web/API/CustomEvent" title="CustomEvent interface 是應用程式為了任意目的所初始化的事件。"><code>CustomEvent</code></a> interface has been implemented. (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=427537" title="FIXED: Implement CustomEvent DOM3 specification">bug 427537</a>)</li> + <li>For security reasons, <code>data:</code> and <code>javascript:</code> URIs no longer inherit the security context of the current page when the user enters them in the location bar; instead, a new, empty, security context is created. This means that script loaded by entering <code>javascript:</code> URIs in the location bar no longer has access to DOM methods and the like, for example. These URIs continue to work as before when used by script, however.</li> +</ul> +<h3 id="JavaScript">JavaScript</h3> +<ul> + <li>In the past, it was possible to use the <code>new</code> operator on several built-in functions (eval, parseInt, Date.parse...) that should not have allowed it, according to the specification. This behavior is no longer supported. Using the <code>new</code> operator in this way was never officially supported and was not widely done, so it's unlikely that this change affects you.</li> + <li>ECMAScript Harmony <a href="/en/JavaScript/Reference/Global_Objects/WeakMap" title="en/JavaScript/Reference/Global_Objects/WeakMap">WeakMaps</a> have been added as a prototype implementation.</li> +</ul> +<h3 id="SVG">SVG</h3> +<ul> + <li>The <code><a href="/zh-TW/docs/Web/SVG/Attribute/pathLength">pathLength</a></code> attribute is now supported.</li> + <li>SVG patterns, gradients, and filters now work correctly when loaded from <a href="/en/data_URIs" title="https://developer.mozilla.org/en/data_URIs"><code>data:</code> URLs</a>.</li> +</ul> +<h3 id="MathML">MathML</h3> +<ul> + <li>The implementation of <code><a href="/zh-TW/docs/Web/MathML/Element/mstyle" title="<mstyle>"><mstyle></a></code> has been corrected.</li> +</ul> +<h3 id="Accessibility_ARIA">Accessibility (ARIA)</h3> +<ul> + <li>A state change event is now correctly sent when the value of <code>aria-busy</code> changes.</li> + <li>An attribute change event is now correctly sent when <code>aria-sort</code> occurs.</li> +</ul> +<h3 id="Networking">Networking</h3> +<dl> + <dt> + <a href="/en/WebSockets" title="en/WebSockets">WebSockets</a></dt> + <dd> + WebSockets was updated to protocol version 07 for Firefox 6. In addition, the global <code>WebSocket</code> object has been renamed to <code>MozWebSocket</code> to prevent it from incorrectly being used to detect the availability of unprefixed WebSockets.</dd> +</dl> +<ul> + <li>Parsing of the <code>Content-Disposition</code> header has been fixed to properly interpret backslash-escaped ASCII characters as just that character itself. Previously it was incorrectly replacing that character with an underscore ("_").</li> + <li>The value of the path field on <code>Set-Cookie</code> headers is now interpreted correctly when quotes are used; previously, they were being treated as part of the path string instead of as delimiters. <strong>This change may affect compatibility with some web sites</strong>, so authors should check their code.</li> + <li>The <a class="external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.42" title="www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"><code>Upgrade</code></a> request header is now supported; you can request an upgrade of an HTTP channel to another protocol by calling <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIHttpChannelInternal#HTTPUpgrade()">nsIHttpChannelInternal.HTTPUpgrade()</a></code>.</li> +</ul> +<h3 id="Other_changes_2">Other changes</h3> +<ul> + <li>Support for microsummaries has been removed; these were never widely used, were not very discoverable, and continuing to support them was making improvements to the Places (bookmark and history) architecture difficult.</li> + <li>WebGL now supports the <a class="external" href="http://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt" title="http://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt"><code>OES_texture_float</code></a> extension.</li> + <li>The new <a href="/en/Tools/Scratchpad" title="en/Tools/Scratchpad">Scratchpad</a> tool provides a handy place to experiment with JavaScript code.</li> + <li>The <code>console.trace()</code> method has been added to the <a href="/en/Tools/Web_Console" title="https://developer.mozilla.org/en/Using_the_Web_Console">ConsoleAPI </a>(see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=585956" title="FIXED: Implement console.trace() in web console">bug 585956</a>).</li> +</ul> +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> +<p>For an overview of the changes you may need to make in order to make your add-on compatible with Firefox 6, see <a href="/en/Firefox/Updating_add-ons_for_Firefox_6" title="en/Firefox/Updating add-ons for Firefox 6">Updating add-ons for Firefox 6</a>.</p> +<div class="note"> + <strong>Note:</strong> Firefox 6 requires that binary components be recompiled, as do all major releases of Firefox. See <a href="/En/Developer_Guide/Interface_Compatibility#Binary_Interfaces" title="En/Developer Guide/Interface Compatibility#Binary Interfaces">Binary Interfaces</a> for details.</div> +<h3 id="JavaScript_code_modules">JavaScript code modules</h3> +<h4 id="FileUtils.jsm">FileUtils.jsm</h4> +<ul> + <li>The <code>openSafeFileOutputStream()</code> method now opens files with the <code>DEFER_OPEN</code> <a href="/en/XPCOM_Interface_Reference/nsIFileOutputStream#Behavior_flag_constants" title="en/XPCOM Interface Reference/nsIFileOutputStream#Behavior flag constants">behavior flag</a> instead of attempting to open them immediately.</li> +</ul> +<h4 id="XPCOMUtils.jsm">XPCOMUtils.jsm</h4> +<ul> + <li>The new <a href="/en/JavaScript_code_modules/XPCOMUtils.jsm#importRelative()" title="en/JavaScript code modules/XPCOMUtils.jsm#importRelative()"><code>importRelative()</code></a> method lets you load one JavaScript code module from a path relative to the path of another JavaScript code module. This makes it easier to build modules that depend on each other.</li> +</ul> +<h3 id="XPCOM">XPCOM</h3> +<ul> + <li><a href="/en/XPCOM_array_guide#nsCOMArray.3cT.3e" title="en/XPCOM array guide#nsCOMArray.3cT.3e"><code>nsCOMArray<T></code></a> now has a <a href="/en/XPCOM_array_guide#Deleting_objects" title="en/XPCOM array guide#Deleting objects"><code>RemoveObjectsAt()</code></a> method for removing multiple objects at once from the array.</li> +</ul> +<h3 id="Using_the_DOM_from_chrome">Using the DOM from chrome</h3> +<dl> + <dt> + <a href="/en/Extensions/Using_the_DOM_File_API_in_chrome_code" title="en/Extensions/Using the DOM File API in chrome code">Using the DOM File API in chrome code</a></dt> + <dd> + Although you've always been able to use the DOM File API from chrome code, the <a href="/zh-TW/docs/Web/API/File" title="File 介面提供了檔案的資訊並且允許網頁中的 JavaScript 存取檔案的內容。"><code>File</code></a> constructor now supports specifying a local pathname string when used from chrome. In addition, you can also specify the file to access using the DOM File API using an <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> object.</dd> +</dl> +<h3 id="Interface_changes">Interface changes</h3> +<ul> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryOptions" title="">nsINavHistoryQueryOptions</a></code> now supports sorting in frecency order using the new <code>SORT_BY_FRECENCY_ASCENDING</code> and <code>SORT_BY_FRECENCY_DESCENDING</code> constants.</li> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFilePicker" title="">nsIFilePicker</a></code> has a new <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIFilePicker#addToRecentDocs">nsIFilePicker.addToRecentDocs</a></code> attribute, which lets you indicate that the selected file should be added to the user's "recent documents" list if there is one. This attribute has no effect when in private browsing mode.</li> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavBookmarkObserver" title="">nsINavBookmarkObserver</a></code> methods with item ID parameters now require a GUID as well.</li> + <li><code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIPrefBranch#clearUserPref()">nsIPrefBranch.clearUserPref()</a></code> no longer throws an exception if the specified preference doesn't exist or has no user-set value. Instead, it simply does nothing.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporter" title="">nsIMemoryReporter</a></code> interface now provides support for indicating the kind of memory being described (mapped, heap, or other).</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISHEntry" title="">nsISHEntry</a></code> <code>stateData</code> attribute now returns a <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIStructuredCloneContainer" title="">nsIStructuredCloneContainer</a></code>.</li> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIURI" title="">nsIURI</a></code> has a new <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIURI#ref">nsIURI.ref</a></code> attribute, which returns the reference portion (the part after the "#") of the URI. It also has new methods <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIURI#cloneIgnoringRef()">nsIURI.cloneIgnoringRef()</a></code> which clones the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIURI" title="">nsIURI</a></code> without the ref member and <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIURI#equalsExceptRef()">nsIURI.equalsExceptRef()</a></code> which compares to another <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIURI" title="">nsIURI</a></code> ignoring the ref member.</li> +</ul> +<h4 id="New_interfaces">New interfaces</h4> +<dl> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIAsyncFavicons" title="">mozIAsyncFavicons</a></code></dt> + <dd> + A new service that lets you access the favicon service asynchronously.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIEventSource" title="">nsIEventSource</a></code></dt> + <dd> + <em>Details forthcoming.</em></dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIGSettingsCollection" title="">nsIGSettingsCollection</a></code></dt> + <dd> + <em>Details forthcoming.</em></dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIGSettingsService" title="">nsIGSettingsService</a></code></dt> + <dd> + <em>Details forthcoming.</em></dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIHttpUpgradeListener" title="">nsIHttpUpgradeListener</a></code></dt> + <dd> + The callback interface for handling HTTP upgrade requests via the <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIHttpChannelInternal#HTTPUpgrade()">nsIHttpChannelInternal.HTTPUpgrade()</a></code> method.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIStructuredCloneContainer" title="">nsIStructuredCloneContainer</a></code></dt> + <dd> + A container for objects that have been serialized using the <a href="/en/HTML/Structured_clones" title="en/HTML/Structured clones">structured clone algorithm</a>.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITelemetry" title="">nsITelemetry</a></code></dt> + <dd> + Implements telemetry support to allow recording of telemetry data to be used to present histograms for performance tracking purposes. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=649502" title="FIXED: Expose histograms to JS">bug 649502</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=585196" title="FIXED: telemetry infrastructure">bug 585196</a>.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITimedChannel" title="">nsITimedChannel</a></code></dt> + <dd> + See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=576006" title="FIXED: Implement timing interface for channels">bug 576006</a>.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebSocketListener" title="">nsIWebSocketListener</a></code></dt> + <dd> + See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640003" title="FIXED: WebSockets - upgrade to ietf-07">bug 640003</a>.</dd> + <dt> + <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebSocketProtocol" title="">nsIWebSocketProtocol</a></code></dt> + <dd> + See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640003" title="FIXED: WebSockets - upgrade to ietf-07">bug 640003</a>.</dd> +</dl> +<h4 id="Removed_interfaces">Removed interfaces</h4> +<p>The following interfaces were implementation details that are no longer needed:</p> +<ul> + <li><code>nsIDOMDocumentEvent</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=655517" title="FIXED: Remove nsIDOMDocumentEvent">bug 655517</a>)</li> + <li><code>nsIDOMDocumentTraversal</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=655514" title="FIXED: Remove nsIDOMDocumentTraversal">bug 655514</a>)</li> + <li><code>nsIDOMDocumentRange</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=655513" title="FIXED: Remove nsIDOMDocumentRange">bug 655513</a>)</li> + <li><code>IWeaveCrypto</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=651596" title="FIXED: Eliminate IWeaveCrypto">bug 651596</a>)</li> + <li><code>nsIDOM3DocumentEvent</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=481863" title="FIXED: Remove nsIDOM3DocumentEvent">bug 481863</a>)</li> + <li><code>nsIDOMAbstractView</code></li> + <li><code>nsILiveTitleNotificationSubject</code></li> + <li><code>nsIPlugin</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=637253" title="FIXED: decomtamination: remove nsIPlugin and nsIPluginInstance">bug 637253</a>)</li> + <li><code>nsIPluginInstance</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=637253" title="FIXED: decomtamination: remove nsIPlugin and nsIPluginInstance">bug 637253</a>)</li> + <li><code>nsIHTMLEditRules</code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=633750" title="FIXED: deCOM nsIHTMLEditRules">bug 633750</a>)</li> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIXSLTProcessorObsolete" title="">nsIXSLTProcessorObsolete</a></code> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=649534" title="FIXED: Remove nsIXSLTProcessorObsolete">bug 649534</a>)</li> +</ul> +<h3 id="Other_changes_3">Other changes</h3> +<dl> + <dt> + <a href="/en/Mozilla/Preferences/Using_preferences_from_application_code" title="en/Preferences/Using preferences from application code">Using preferences from application code</a></dt> + <dd> + A new static API is available for easily accessing preferences; this is only available to application code and can't be used by add-ons.</dd> +</dl> +<h2 id="See_also">See also</h2> +<div> + <div class="multiColumnList"> +<ul> +<li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/5">Firefox 5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/4">Firefox 4 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.6">Firefox 3.6 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3">Firefox 3 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/2">Firefox 2 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/1.5">Firefox 1.5 for developers</a></li></ul> +</div></div> diff --git a/files/zh-tw/mozilla/firefox/releases/61/index.html b/files/zh-tw/mozilla/firefox/releases/61/index.html new file mode 100644 index 0000000000..e0b9d26ae6 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/61/index.html @@ -0,0 +1,139 @@ +--- +title: Firefox 61 技術變動摘要 +slug: Mozilla/Firefox/Releases/61 +translation_of: Mozilla/Firefox/Releases/61 +--- +<div>{{FirefoxSidebar}}</div><div>{{draft}}</div> + +<p class="summary">此文章提供 Firefox 61 中與開發者較為相關之變動資訊。Firefox 61 預定於 <a href="https://wiki.mozilla.org/RapidRelease/Calendar#Future_branch_dates">2018 年 6 月 26 日正式發表</a>。</p> + +<h2 id="Web_開發相關變動">Web 開發相關變動</h2> + +<h3 id="開發者工具">開發者工具</h3> + +<p><em>無變動。</em></p> + +<h3 id="HTML">HTML</h3> + +<p><em>無變動。</em></p> + +<h3 id="CSS">CSS</h3> + +<p><em>無變動。</em></p> + +<h3 id="SVG">SVG</h3> + +<ul> + <li>{{SVGElement("a")}} 元素({{domxref("SVGAElement")}})新增 <code>ping</code>、<code>rel</code>、<code>referrerPolicy</code>、<code>relList</code>、<code>hreflang</code>、<code>type</code> 及 <code>text</code> 等屬性,以便與 HTML {{HTMLElement("a")}} 元素抱持一致。({{bug("1451823")}})</li> + <li>{{SVGElement("textPath")}} 元素({{domxref("SVGTextPathElement")}})現在支援 SVG2 的 <code>path</code> 及 <code>side</code> 屬性。({{bug("1446617")}} 與 {{bug("1446650")}})</li> + <li>除 {{SVGElement("path")}} 之外,現在有更多元素支援{{domxref("SVGGeometryElement")}} 。({{bug("1325320")}})</li> +</ul> + +<h3 id="JavaScript">JavaScript</h3> + +<ul> + <li>已實作 {{jsxref("String.prototype.trimStart()")}} 及 {{jsxref("String.prototype.trimEnd()")}} 方法(參考 {{bug(1434007)}}。為了確保相容性,將保留 <code>trimLeft</code> 和 <code>trimRight</code> 作為別名。</li> +</ul> + +<h3 id="API">API</h3> + +<h4 id="新_API">新 API</h4> + +<p><em>無變動。</em></p> + +<h4 id="DOM">DOM</h4> + +<ul> + <li>The {{domxref("Document.anchors", "anchors")}}, {{domxref("Document.applets", "applets")}}, {{domxref("Document.embeds", "embeds")}}, {{domxref("Document.forms", "forms")}}, {{domxref("Document.head", "head")}}, {{domxref("Document.images", "images")}}, {{domxref("Document.links", "links")}}, {{domxref("Document.plugins", "plugins")}}, and {{domxref("Document.scripts", "scripts")}} properties have been moved from the {{domxref("HTMLDocument")}} interface onto {{domxref("Document")}} ({{bug(1415588)}}).</li> + <li>The {{domxref("Node.getUserData()")}} and {{domxref("Node.setUserData()")}} methods have been removed from the platform completely ({{bug(749981)}}).</li> + <li>{{domxref("DOMTokenList.replace()")}} now returns a {{domxref("Boolean")}} to indicate whether the replacement occurred successfully, rather than void ({{bug(1444909)}}).</li> +</ul> + +<h4 id="DOM_事件">DOM 事件</h4> + +<p><em>無變動。</em></p> + +<h4 id="Service_workers">Service workers</h4> + +<p><em>無變動。</em></p> + +<h4 id="Media_及_WebRTC">Media 及 WebRTC</h4> + +<p>{{domxref("AudioContext.AudioContext", "AudioContext()")}} 建構式現在可以選擇性傳入一個 {{domxref("AudioContextOptions")}} 型態的 <code>options</code> 參數,用以調整新的 AudioContext 下偏好的延遲時間及取樣率。</p> + +<h4 id="Canvas_及_WebGL">Canvas 及 WebGL</h4> + +<p><em>無變動。</em></p> + +<h3 id="CSSOM">CSSOM</h3> + +<p><em>無變動。</em></p> + +<h3 id="HTTP">HTTP</h3> + +<ul> + <li>已實作 cookie 管理中的 <code><strong>SameSite</strong></code>,見 <a href="/en-US/docs/Web/HTTP/Headers/Set-Cookie">Set-Cookie</a> 及 <a href="/en-US/docs/Web/HTTP/Cookies">HTTP cookies</a>。({{bug(795346)}})</li> +</ul> + +<h3 id="安全性">安全性</h3> + +<p><em>無變動。</em></p> + +<h3 id="外掛程式">外掛程式</h3> + +<p><em>無變動。</em></p> + +<h3 id="其他">其他</h3> + +<p><em>無變動。</em></p> + +<h2 id="Web_平台中移除的項目">Web 平台中移除的項目</h2> + +<h3 id="HTML_2">HTML</h3> + +<p><em>無變動。</em></p> + +<h3 id="CSS_2">CSS</h3> + +<p><em>無變動。</em></p> + +<h3 id="APIs">APIs</h3> + +<p><em>無變動。</em></p> + +<h3 id="SVG_2">SVG</h3> + +<ul> + <li>從未良好實作且已為標準所廢棄的 {{domxref("SVGViewElement")}}<code>.viewTarget</code> 屬性已經移除。({{bug(1455763)}})</li> + <li>在標準規格中廢棄的下列屬性已經自 {{domxref("SVGSVGElement")}} 移除({{bug(1133172)}}): + <ul> + <li><code>pixelUnitToMillimeterX</code></li> + <li><code>pixelUnitToMillimeterY</code></li> + <li><code>screenPixelToMillimeterX</code></li> + <li><code>screenPixelToMillimeterY</code></li> + </ul> + </li> + <li>不在標準規格內的 <code>SVGNumber()</code> 建構式已經移除。({{bug("1455940")}})</li> +</ul> + +<h3 id="其他_2">其他</h3> + +<p><em>無變動。</em></p> + +<h2 id="附加元件及_Mozilla_軟體開發相關變動">附加元件及 Mozilla 軟體開發相關變動</h2> + +<h3 id="WebExtensions">WebExtensions</h3> + +<p><em>無變動。</em></p> + +<h2 id="請參見">請參見</h2> + +<ul> + <li>Firefox 61 網站相容資訊</li> +</ul> + +<h2 id="舊版資訊">舊版資訊</h2> + +<p>{{Firefox_for_developers(60)}}</p> + +<p> </p> diff --git a/files/zh-tw/mozilla/firefox/releases/68/index.html b/files/zh-tw/mozilla/firefox/releases/68/index.html new file mode 100644 index 0000000000..bd6a7e5008 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/68/index.html @@ -0,0 +1,240 @@ +--- +title: Firefox 68 for developers +slug: Mozilla/Firefox/Releases/68 +translation_of: Mozilla/Firefox/Releases/68 +--- +<p>{{FirefoxSidebar}}</p> + +<p class="summary">This article provides information about the changes in Firefox 68 that will affect developers. Firefox 68 was released on July 9, 2019.</p> + +<h2 id="Changes_for_web_developers">Changes for web developers</h2> + +<h3 id="Developer_tools">Developer tools</h3> + +<h4 id="Browserweb_console">Browser/web console</h4> + +<ul> + <li>The Web console now shows <a href="/en-US/docs/Tools/Web_Console/Console_messages#CSS">more information about CSS warnings</a>, including a node list of the DOM elements that used the rule ({{bug(1093953)}}).</li> + <li>You can now filter content in the Web console using regular expressions ({{bug(1441079)}}).</li> + <li>The Browser console now allows you to show or hide messages from the content process by setting or clearing the checkbox labeled <em>Show Content Messages</em> ({{bug(1260877)}}).</li> +</ul> + +<h4 id="JavaScript_debugger">JavaScript debugger</h4> + +<ul> + <li>You can now <a href="/en-US/docs/Tools/Debugger/How_to/Search#Searching_in_all_files">Search</a> in all files in the current project from the debugger by pressing <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>F</kbd> (Windows or Linux) or <kbd>Shift</kbd> + <kbd>Cmd</kbd> + <kbd>F</kbd> (macOS) ({{bug(1320325)}}).</li> +</ul> + +<h4 id="Network_monitor">Network monitor</h4> + +<ul> + <li>The Network monitor <a href="/en-US/docs/Tools/Network_Monitor/request_list#Filtering_requests">request list</a> now allows you to block a specific URL ({{bug(1151368)}}).</li> + <li>You can now resend a network request without editing the method, URL, parameters, and headers, using the <a href="/en-US/docs/Tools/Network_Monitor/request_list#Context_menu">Resend</a> command on the context menu ({{bug(1422014)}}).</li> + <li>The context menu of the Network monitor <a href="/en-US/docs/Tools/Network_Monitor/request_details#Headers">Headers</a> tab now allows you to copy all or some of the header information to the clipboard in JSON format ({{bug(1442249)}}).</li> +</ul> + +<h4 id="Page_inspector">Page inspector</h4> + +<ul> + <li>A button has been added to the <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Examine_CSS_rules">rules panel</a> of the Page inspector that allows you to toggle the display of any print media queries ({{bug(1534984)}}).</li> + <li>The <a href="/en-US/docs/Tools/Page_Inspector/How_to/Edit_fonts">fonts panel</a> now includes a slider to modify <code>letter-spacing</code> ({{bug(1536237)}}).</li> + <li>A warning icon appears next to unsupported CSS properties or rules that have invalid values, to help you understand why certain styles are not being applied ({{bug(1306054)}}).</li> +</ul> + +<h4 id="Storage_inspector">Storage inspector</h4> + +<ul> + <li>You can now <a href="/en-US/docs/Tools/Storage_Inspector#Local_storage_Session_storage">delete local and session storage</a> entries by selecting the item in the storage inspector and pressing the backspace key ({{bug(1522893)}}).</li> +</ul> + +<h4 id="Other">Other</h4> + +<ul> + <li>The <a href="/en-US/docs/Tools/Accessibility_inspector">Accessibility Inspector</a> now includes a new <em>Check for issues</em> feature, which will include a number of audit tools to highlight accessibility problems on your web pages. The first available check is <em>contrast</em>, for highlighting color contrast problems.</li> + <li>The preference that controls the visibility of internal extensions (system add-ons and hidden extensions) on the <a href="/en-US/docs/Tools/about:debugging">about:debugging</a> page has been changed from <code>devtools.aboutdebugging.showSystemAddons</code> to <code>devtools.aboutdebugging.showHiddenAddons</code> ({{bug(1544372)}}).</li> + <li><a href="/en-US/docs/Tools/Responsive_Design_Mode">Responsive design mode</a> has been redesigned — the <em>Device Settings</em> dialog (device selection menu > <em>Edit List...</em>) is now more intuitive and simpler to use ({{bug(1487857)}}).</li> +</ul> + +<h4 id="Removals">Removals</h4> + +<ul> + <li>The "Enable add-on debugging" checkbox has been removed from the <a href="/en-US/docs/Tools/about:debugging">about:debugging</a> page ({{bug(1544813)}}).</li> +</ul> + +<h3 id="HTML">HTML</h3> + +<ul> + <li>The {{HTMLElement("track")}} element — represented by {{domxref("HTMLTrackElement")}} — now receives a {{domxref("HTMLTrackElement.cuechange_event", "cuechange")}} event in addition to the {{domxref("TextTrack")}} itself, if the text track is a contained by a media element ({{bug(1548731)}}).</li> + <li>{{htmlelement("link")}} elements support the <code>disabled</code> attribute again, albeit with different behavior. When <code>disabled</code> is set on a <code><link></code> element along with <code>rel="stylesheet"</code>, the referenced stylesheet is not loaded during page load, and will be loaded on demand when the <code>disabled</code> attribute is changed to <code>false</code> or removed ({{bug(1281135)}}).</li> +</ul> + +<h4 id="Removals_2"> Removals</h4> + +<ul> + <li><code><a href="/en-US/docs/Web/HTML/Element/meta"><meta http-equiv="set-cookie"></a></code> is no longer supported ({{bug(1457503)}}).</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<ul> + <li><a href="/en-US/docs/Web/CSS/CSS_Scroll_Snap">CSS Scroll Snapping</a> has been updated to the latest version of the specification ({{bug(1312163)}}) and ({{bug(1544136)}}), this includes: + + <ul> + <li>The <code>scroll-padding</code> properties ({{bug(1373832)}})</li> + <li>The <code>scroll-margin</code> properties ({{bug(1373833)}})</li> + <li>{{CSSxRef("scroll-snap-align")}} ({{bug(1373835)}})</li> + </ul> + </li> + <li>The {{CSSxRef("-webkit-line-clamp")}} property has been implemented for compatibility with other browsers ({{bug(866102)}}).</li> + <li>Support has been added for the {{CSSxRef("::marker")}} pseudo-element ({{bug(205202)}}) and animation for <code>::marker</code> pseudos ({{bug(1538618)}})</li> + <li>We changed {{CSSxRef("currentColor")}} to be a computed value (except for the {{cssxref("color")}} property) ({{bug(760345)}}).</li> + <li>Support has been fixed for the <code>ch</code> length unit so it now matches the spec (fallback for no '0' glyph, vertical metrics) ({{bug(282126)}})</li> + <li>The {{CSSxRef("counter-set")}} property has been implemented. ({{bug(1518201)}}).</li> + <li>We now implement list numbering using a built-in "list-item" counter; this fixes list numbering bugs ({{bug(288704)}}).</li> + <li>Selector matching and parsing support has been implemented for <code><a href="/en-US/docs/Web/CSS/::part">::part()</a></code> ({{bug(1545430)}}) and ({{bug(1545425)}}).</li> + <li><a href="/en-US/docs/Web/CSS/CSS_Transforms">CSS Transforms</a> are now supported in indirectly rendered things e.g.) {{SVGElement("mask")}}, {{SVGElement("marker")}}, {{SVGElement("pattern")}}, {{SVGElement("clipPath")}} ({{bug(1323962)}}).</li> + <li> + <p>While we're keeping the prefixed versions of the various gradient properties ({{cssxref("linear-gradient")}}, {{cssxref("radial-gradient")}}, and {{cssxref("repeating-radial-gradient")}} available for compatibility reasons, we have revised how they're parsed so that they're handled much more like the non-prefixed versions. This means that certain existing styles won't work correctly.</p> + + <p>In particular, the complicated syntax taking both an angle and a position will no longer work, and the <code>to</code> keyword in the <code><side-or-corner></code> parameter is not required for the prefixed gradient properties. You are encouraged to use the standard, non-prefixed gradient properties instead, as they're now widely supported ({{bug(1547939)}}).</p> + </li> +</ul> + +<h4 id="Removals_3">Removals</h4> + +<ul> + <li>{{CSSxRef("scroll-snap-coordinate")}}, {{CSSxRef("scroll-snap-destination")}}, {{CSSxRef("scroll-snap-type-x")}} and {{CSSxRef("scroll-snap-type-y")}} have been removed.</li> + <li>The {{CSSxRef("scroll-snap-type")}} property has become a longhand, so the old shorthand syntax like <code>scroll-snap-type:mandatory</code> will stop working. See the <a href="https://www.fxsitecompat.com/en-CA/docs/2019/legacy-css-scroll-snap-syntax-support-has-been-dropped/">Firefox Site Compatability</a> note.</li> +</ul> + +<h3 id="SVG">SVG</h3> + +<p><em>No changes.</em></p> + +<h3 id="JavaScript">JavaScript</h3> + +<ul> + <li>The new {{jsxref("BigInt")}} primitive is enabled by default ({{bug(1527902)}}).</li> + <li>String generic methods have been removed ({{bug(1222552)}}). See the <a href="/en-US/docs/Web/JavaScript/Reference/Errors/Deprecated_String_generics">deprecation warning</a> for more information.</li> +</ul> + +<h3 id="APIs">APIs</h3> + +<h4 id="CSS_Object_Model_CSSOM">CSS Object Model (CSSOM)</h4> + +<ul> + <li>The legacy {{domxref("CSSStyleSheet.rules", "rules")}} property and {{domxref("CSSStyleSheet.addRule", "addRule()")}} and {{domxref("CSSStyleSheet.removeRule", "removeRule()")}} methods have been added to the {{domxref("CSSStyleSheet")}} interface. These were introduced by Internet Explorer 9 and have never managed to quite be stamped out, so they have been added to improve compatibility with the small percentage of sites that still use them ({{bug(1545823)}}).</li> +</ul> + +<h4 id="DOM">DOM</h4> + +<ul> + <li>The <a href="/en-US/docs/Web/API/Visual_Viewport_API">Visual Viewport API</a> has now been enabled by default on Android ({{bug(1512813)}}). Adding this API to desktop versions of Firefox is being tracked in {{bug(1551302)}}.</li> + <li>The {{domxref("Window")}} feature <code><a href="/en-US/docs/Web/API/Window/open#noreferrer">noreferrer</a></code> is now supported; if specified, the new window's content is loaded without sharing the hostname, IP address, URL, or other identifying information about the host device ({{bug(1527287)}}).</li> + <li>The {{domxref("HTMLImageElement.decode", "decode()")}} method on <code>HTMLImageElement</code> is now implemented. This can be used to trigger loading and decoding of an image prior to adding it to the DOM ({{bug(1501794)}}).</li> + <li>{{domxref("XMLHttpRequest")}} has been updated to no longer accept the non-standard <code>moz-chunked-arraybuffer</code> value for {{domxref("XMLHttpRequest.responseType", "responseType")}}. Code still using it should be updated to <a href="/en-US/docs/Web/API/Streams_API/Using_readable_streams#Consuming_a_fetch_as_a_stream">use the Fetch API as a stream</a> ({{bug(1120171)}}).</li> + <li><code>XMLHttpRequest</code> now outputs a warning to console if you perform a synchronous request while handling an {{domxref("Window.unload_event", "unload")}}, {{domxref("Window.beforeunload_event", "beforeunload")}}, or {{domxref("Window.pagehide_event", "pagehide")}} event ({{bug(980902)}}).</li> + <li>The {{domxref("Document.cookie", "cookie")}} property has moved from the {{domxref("HTMLDocument")}} interface to the {{domxref("Document")}} interface, allowing documents other than {{Glossary("HTML")}} to use cookies ({{bug(144795)}}).</li> + <li>The {{domxref("HTMLElement.focus()")}} and {{domxref("SVGElement.focus()")}} methods now accept an optional object that may contain a boolean <code>preventScroll</code> option specifying whether or not to block the browser from scrolling the newly-focused element into view ({{bug(1374045)}}).</li> +</ul> + +<h4 id="DOM_events">DOM events</h4> + +<ul> + <li><a href="/en-US/docs/Mozilla/Firefox_for_Android">Firefox for Android</a> no longer incorrectly sends a {{domxref("Window.resize_event", "resize")}} event until after the first frame is painted; this improves web compatibility with sites that don't expect this event to occur ({{bug(1528052)}}).</li> + <li>The dispatching of events for non-primary mouse buttons has been made to more closely follow the specification; the {{domxref("Element.click_event", "click")}} event is no longer sent when non-primary buttons are clicked, instead using {{domxref("Element.auxclick_event", "auxclick")}}. In addition, {{domxref("Element.dblclick_event", "dblclick")}} no longer fires for non-primary buttons ({{bug(1379466)}}).</li> + <li>The proprietary {{domxref("MouseEvent.mozPressure")}} property has been deprecated, and will now trigger a warning in the console ({{bug(1165211)}}).</li> +</ul> + +<h4 id="Media_Web_Audio_and_WebRTC">Media, Web Audio, and WebRTC</h4> + +<ul> + <li>Due to changes in the Google Play store's policies, starting with Firefox 68 for Android, the OpenH264 codec used to handle AVC/H.264 video in WebRTC connections can no longer be downloaded and installed. Therefore, fresh installs of Firefox on Android devices no longer support AVC in WebRTC calls. If you upgrade from earlier versions of Firefox and already have the codec downloaded, it will continue to work. This does <em>not</em> affect other platforms. For more details, see <a href="https://support.mozilla.org/en-US/kb/firefox-android-openh264">this article on SUMO</a> or {{bug(1548679)}}.</li> + <li>WebRTC has been updated to recognize that a <code>null</code> candidate passed into the {{domxref("RTCPeerConnection.icecandidate", "icecandidate")}} event handler, indicating the receipt of a candidate, instead indicates that there are no further candidates coming; when this happens the ICE gathering ({{domxref("RTCPeerConnection.iceGatheringState", "iceGatheringState")}}) state reaches <code>complete</code> ({{bug(1318167)}}).</li> + <li>The {{domxref("RTCRtpReceiver")}} methods {{domxref("RTCRtpReceiver.getContributingSources", "getContributingSources()")}} and {{domxref("RTCRtpReceiver.getSynchronizationSources", "getSynchronizationSources()")}} now support video tracks; previously they only worked on audio ({{bug(1534466)}}).</li> + <li>The Web Audio API {{domxref("MediaStreamTrackAudioSourceNode")}} interface is now supported, as is the method {{domxref("AudioContext.createMediaStreamTrackSource()")}} ({{bug(1324548)}}).</li> + <li>{{domxref("RTCDataChannel.negotiated")}} is now implemented ({{bug(1529695)}}).</li> + <li>The {{domxref("MediaStreamAudioSourceNode.MediaStreamAudioSourceNode", "MediaStreamAudioSourceNode()")}} constructor has been updated to match the current specification's definition that the "first audio track" in the stream is the track whose ID comes first in lexicographical order ({{bug(1324548)}}).</li> + <li> + <p>{{domxref("MediaDevices.getUserMedia", "getUserMedia()")}} may no longer be used from a non-secure context; attempting to do so now throws a <code>NotAllowedError</code> exception. Secure contexts are those loaded using HTTPS, those located using the <code>file:///</code> scheme, and those loaded from <code>localhost</code>. For now, if you must, you can re-enable the ability to perform insecure calls to <code>getUserMedia()</code> by setting the preference <code>media.getusermedia.insecure.enabled</code> to <code>true</code> ({{bug(1335740)}}).</p> + + <div class="blockIndicator note"> + <p><strong>Note:</strong> In the future, Firefox will also remove the {{domxref("navigator.mediaDevices")}} property on insecure contexts, preventing all access to the {{domxref("MediaDevices")}} APIs. <strong>This is already the case in Nightly builds.</strong></p> + </div> + </li> +</ul> + +<h4 id="Removals_4">Removals</h4> + +<ul> + <li>Removed the non-standard {{DOMxRef("XMLDocument.load()")}} method ({{bug(332175)}}).</li> + <li>Removed the non-standard {{DOMxRef("XMLDocument.async")}} property ({{bug(1328138)}}).</li> + <li>The {{domxref("RTCIceCredentialType")}} <code>token</code> value has been removed ({{bug(1529595)}}).</li> +</ul> + +<h3 id="HTTP">HTTP</h3> + +<ul> + <li>The <a href="/en-US/docs/Web/HTTP">HTTP</a> {{HTTPHeader("Clear-Site-Data")}} header no longer supports the <code>executionContexts</code> directive. This was removed due to problems with interactions between interconnections among different kinds of data at different points in the navigation process and the way the specification is designed. It <a href="https://github.com/w3c/webappsec-clear-site-data/issues/59">has been proposed</a> that this directive be removed from the specification for this reason, among others ({{bug(1548034)}}).</li> +</ul> + +<h4 id="Removals_5">Removals</h4> + +<ul> + <li>The {{HTTPHeader("Content-Security-Policy")}} directive <code>require-sri-for</code> is no longer supported due to concerns about its standardization status. It was previously available only behind a preference, which was off by default ({{bug(1386214)}}).</li> +</ul> + +<h3 id="Security">Security</h3> + +<ul> + <li>Due to <a href="https://www.mozilla.org/en-US/security/advisories/mfsa2019-21/#CVE-2019-11730">CVE-2019-11730: Same-origin policy treats all files in a directory as having the same-origin</a>, changes have been made so that Firefox now treats files in the same directory as being from different origins. This has a number of side-effects on what will work in documents loaded via file:// URLs (see {{bug("file-fallout")}} for useful background research). For example, workers can no longer be loaded.</li> +</ul> + +<h3 id="WebDriver_conformance_Marionette">WebDriver conformance (Marionette)</h3> + +<h4 id="Bug_fixes">Bug fixes</h4> + +<ul> + <li>If <code>WebDriver:SwitchToWindow</code> changes the selection to a different window it now waits for its <code>focus</code> and <code>activate</code> events before returning ({{bug(1335085)}}).</li> + <li>Fixed the <code>TypeError: this.tabModal is null</code> failure, which sometimes appeared when interacting with modal dialogs or user prompts ({{bug(1538782)}})</li> +</ul> + +<h4 id="Other_2">Other</h4> + +<ul> + <li>Disabled the feature to force unloading background tabs on low memory conditions, to prevent top-level browser contexts from magically disappearing ({{bug(1553748)}}).</li> + <li>Disabled priviledged content processes that caused HTTP authentication dialogs not to appear when navigating to a website after opening a new tab ({{bug(1558763)}}).</li> +</ul> + +<h3 id="Plugins">Plugins</h3> + +<p><em>No changes.</em></p> + +<h2 id="Changes_for_add-on_developers">Changes for add-on developers</h2> + +<h3 id="API_changes">API changes</h3> + +<ul> + <li>The The <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/register">proxy.register()</a></code> and <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/unregister">proxy.unregister()</a></code> functions have been deprecated and will be removed from Firefox 71 ({{bug(1545811)}}).</li> + <li>A <code>boolean</code> flag, <code>incognito</code>, has been added to the <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/RequestDetails">proxy.RequestDetails</a>. object. When <code>true</code>, it indicates that this was a private browsing request ({{bug(1545163)}}).</li> + <li>The <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/RequestFilter">webRequest.RequestFilter</a> parameters can include an incognito parameter. If provided, requests that do not match the incognito state (<code>true</code> or <code>false</code>) will be filtered out ({{bug(1548177)}}).</li> + <li>A <code>string</code> value, <code>cookieStoreId</code>, representing the cookie store ID of the current context, has been added to the <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/RequestDetails">proxy.RequestDetails</a>. object ({{bug(1545420)}}).</li> + <li>When an add-on attempts to add a bookmark folder to the root folder, the resulting error message is now much more intuitive ({{bug(1512171)}}).</li> + <li>The promise returned by <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/duplicate">browser.tabs.duplicate()</a></code> now resolves immediately, before the tabs are completely loaded ({{bug(1394376)}}).</li> + <li>Support has been added for chrome.storage.managed, allowing web extension settings to be implemented via enterprise policy ({{bug(1230802)}}).</li> +</ul> + +<h3 id="Manifest_changes">Manifest changes</h3> + +<p><em>No changes.</em></p> + +<h2 id="See_also">See also</h2> + +<ul> + <li>Hacks release post: <a href="https://hacks.mozilla.org/2019/07/firefox-68-bigints-contrast-checks-and-the-quantumbar/">Firefox 68: BigInts, Contrast Checks, and the QuantumBar</a></li> + <li><a href="https://www.fxsitecompat.com/en-CA/versions/68/">Site compatibility for Firefox 68</a></li> +</ul> + +<h2 id="Older_versions">Older versions</h2> + +<p>{{Firefox_for_developers(67)}}</p> diff --git a/files/zh-tw/mozilla/firefox/releases/7/index.html b/files/zh-tw/mozilla/firefox/releases/7/index.html new file mode 100644 index 0000000000..3faf9bd904 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/7/index.html @@ -0,0 +1,189 @@ +--- +title: Firefox 7 技術文件 +slug: Mozilla/Firefox/Releases/7 +translation_of: Mozilla/Firefox/Releases/7 +--- +<div>{{FirefoxSidebar}}</div><p>Firefox 7 shipped on September 27, 2011. This article provides information about the changes that affect developers -- both of web content and of Firefox add-ons.</p> +<h2 id="Changes_for_web_developers">Changes for web developers</h2> +<h3 id="HTML">HTML</h3> +<ul> + <li>The {{ domxref("HTMLHeadElement") }} <code>profile</code> property has been removed, this property has been deprecated since {{ gecko("2.0") }}.</li> + <li>The {{ domxref("HTMLImageElement") }} <code>x</code> and <code>y</code> properties have been removed.</li> + <li>The {{ domxref("HTMLSelectElement") }} <code>add()</code> method <code>before</code> parameter is now optional.</li> + <li>The {{ HTMLElement("body") }} element's {{ htmlattrxref("background", "body") }} attribute is no longer resolved as a URI; this is in compliance with the current HTML specification.</li> + <li>The {{ HTMLElement("option") }} element's {{ htmlattrxref("label", "option") }} attribute now reflects the value of the element's text content if the attribute isn't specified.</li> +</ul> +<h4 id="Canvas">Canvas</h4> +<ul> + <li>As part of the <a class="external" href="http://blog.mozilla.com/joe/2011/04/26/introducing-the-azure-project/">Azure project</a> the Direct2D Azure Backend <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=651858">has been implemented</a> and will significantly improve the performance of the 2D canvas.</li> + <li>Specifying invalid values when calling <code>setTransform()</code>, <code>bezierCurveTo()</code>, or <code>arcTo()</code> no longer throws an exception; these calls are now correctly silently ignored.</li> + <li>The <a href="/en/DOM/CanvasRenderingContext2D#isPointInPath()" title="en/DOM/CanvasRenderingContext2D#isPointInPath()"><code>isPointInPath()</code></a> method now correctly considers the transformation matrix when comparing the specified point to the current path.</li> + <li>Calling <code>strokeRect()</code> with a zero width and height now correctly does nothing.</li> + <li>Calling <a href="/en/DOM/CanvasRenderingContext2D#drawImage()" title="en/DOM/CanvasRenderingContext2D#drawImage()"><code>drawImage()</code></a> with a zero width or height {{ HTMLElement("canvas") }} now throws <code>INVALID_STATE_ERR</code>.</li> + <li>Calling <a href="/en/DOM/CanvasRenderingContext2D#drawImage()" title="en/DOM/CanvasRenderingContext2D#drawImage()"><code>drawImage()</code></a> with non-finite coordinates no longer throws an exception.</li> + <li><code>toDataURL()</code> method now accepts a second argument to control JPEG quality.</li> + <li>Support for the non-standard <code>globalCompositeOperation</code> operations <code>clear</code> and <code>over</code> has been removed.</li> + <li><a href="/en/Canvas_tutorial/Applying_styles_and_colors#Shadows" title="en/Canvas_tutorial/Applying_styles_and_colors#Shadows">Shadows</a> are now only drawn for <code>source-over</code> compositing operations.</li> + <li>You can now configure the fill rule used by canvas by setting the <code>mozFillRule </code><a href="/en/DOM/CanvasRenderingContext2D#Attributes" title="en/DOM/CanvasRenderingContext2D#Attributes">attribute</a> on the context.</li> + <li>Support for the experimental <code>mozDash</code>, <code>mozDashOffset</code>, <code>mozCurrentTransform</code> and <code>mozCurrentTransformInverse</code> attributes has been added.</li> + <li>Support for the non-standard methods <code>mozDrawText()</code>, <code>mozMeasureText()</code>, <code>mozPathText()</code> and <code>mozTextAlongPath()</code> has been been removed.</li> +</ul> +<h3 id="CSS">CSS</h3> +<ul> + <li>{{ cssxref("text-overflow") }} is now supported.</li> + <li>The {{ cssxref("orient", "-moz-orient") }} property has been fixed so that {{ HTMLElement("progress") }} elements that are vertically oriented have appropriate default dimensions.</li> +</ul> +<h3 id="MathML">MathML</h3> +<ul> + <li>XLink href has been restored and the MathML3 <code>href</code> attribute is now supported. Developers are encouraged to move to the latter syntax.</li> + <li>Support for the <code>voffset</code> attribute on {{ MathMLElement("mpadded") }} elements has been added and behavior of <code>lspace</code> attribute has been fixed.</li> + <li>The top-level {{ MathMLElement("math") }} element now accepts any attributes of the {{ MathMLElement("mstyle") }} element.</li> + <li>Support for <a class="external" href="http://www.ctan.org/tex-archive/fonts/Asana-Math/">Asana Math</a> fonts has been added.</li> + <li>The <code>medium</code> line thickness of fraction bars in {{ MathMLElement("mfrac") }} elements has been corrected to match the default thickness.</li> + <li><a href="/en/MathML/Attributes/Values#Constants_(namedspaces)" title="en/MathML/Attributes/Values#Constants_(namedspaces)">Names for negative spaces</a> are now supported.</li> +</ul> +<h3 id="DOM">DOM</h3> +<ul> + <li>The {{ domxref("File") }} interface's non-standard methods <code>getAsBinary()</code>, <code>getAsDataURL()</code>, and <code>getAsText()</code> have been removed as well as the non-standard properties <code>fileName</code> and <code>fileSize</code>.</li> + <li>The {{ domxref("XMLHttpRequest/FormData", "FormData") }} interface no longer reports the filename as an empty string when sending the <code>Content-Disposition</code> HTTP header if the data was set using a {{ domxref("Blob") }}. This fixes errors that were happening with some servers.</li> + <li>The {{ domxref("element.dir") }} attribute now always returns its result as all lower-case, as required by the HTML specification.</li> + <li>The {{ domxref("FileReader") }} <code>readAsArrayBuffer()</code> method is now implemented.</li> + <li>{{ domxref("document.createEntityReference") }} has been removed. It was never properly implemented and is not implemented in most other browsers.</li> + <li><code>document.normalizeDocument</code> has been removed. Use {{ domxref("Node.normalize") }} instead.</li> + <li>{{ domxref("DOMTokenList.item") }} now returns <code>undefined</code> if the <code>index</code> is out of bounds, previously it returned <code>null</code>.</li> + <li><code>Node.getFeature</code> has been removed.</li> + <li>The <code>HTMLInsElement</code> and <code>HTMLDelElement</code> interfaces have been removed, since the {{ HTMLElement("ins") }} and {{ HTMLElement("del") }} elements actually use the {{ domxref("HTMLModElement") }} interface.</li> + <li>In a effort to conform to the upcoming <a class="external" href="http://www.w3.org/TR/dom/">DOM4</a> specification where {{ domxref("Attr") }} do not inherit from {{ domxref("Node") }} anymore (it did in DOM Core 1, 2 and 3), many {{ domxref("Node") }} properties and methods on the {{ domxref("Attr") }} interface are <a href="/en/DOM/Attr#Deprecated_properties_and_methods" title="En/DOM/Attr#Deprecated_properties_and_methods">now reporting warnings</a> as we work toward removing them in a later version.</li> + <li>Added support for the {{ domxref("window.ondeviceorientation") }} and {{ domxref("window.ondevicemotion") }} properties on {{ domxref("window") }} objects.</li> + <li>{{ domxref("window.resizeTo") }}, {{ domxref("window.resizeBy") }}, {{ domxref("window.moveTo") }} , and {{ domxref("window.moveBy") }} no longer apply to the main window.</li> +</ul> +<h3 id="JavaScript">JavaScript</h3> +<ul> + <li>The <code><a href="/en/JavaScript/Reference/Global_Objects/Function/arity" title="en/JavaScript/Reference/Global_Objects/Function/arity">Function.arity</a></code> property has been removed; use <code><a href="/en/JavaScript/Reference/Global_Objects/Function/length" title="en/JavaScript/Reference/Global_Objects/Function/length">Function.length</a></code> instead.</li> +</ul> +<h3 id="WebSockets">WebSockets</h3> +<ul> + <li>The <code>network.websocket.max-connections</code> preference is used to determine the maximum number of WebSocket connections that can be open at a time. The default value is 200.</li> + <li>The underlying WebSocket protocol version 8 (as specified by <a class="external" href="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10" title="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10">IETF draft 10</a>) is used now instead of the version 7 protocol used by Firefox 6.</li> + <li>The WebSocket API is now available on Firefox Mobile.</li> +</ul> +<h3 id="console_API">console API</h3> +<ul> + <li>Message logged with <code>console.log</code> while the <a href="/en/Tools/Web_Console" title="Using the Web Console">web console</a> isn't open are still logged, although they aren't displayed when the web console is opened.</li> +</ul> +<div class="changelog"> + <h3 id="Web_timing">Web timing</h3> + <ul> + <li>Initial implementation of the <a href="/en/Navigation_timing">Navigation Timing</a> specification which provides data that can be used to measure the performance of a website.</li> + </ul> + <h3 id="XML">XML</h3> + <ul> + <li>In addition to the previously supported <code>text/xsl</code>, XSLT stylesheets can now use the official internet media (MIME) type <code>application/xslt+xml</code> (in the <a class="external" href="http://www.w3.org/TR/xml-stylesheet/" title="http://www.w3.org/TR/xml-stylesheet/">stylesheet processing instruction</a> or the <a class="external" href="http://tools.ietf.org/html/rfc5988">HTTP Link header field</a>).</li> + </ul> +</div> +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> +<p>These changes affect add-on developers as well as developers working on or with Mozilla code itself. Add-on developers should see <a href="/en/Firefox/Updating_extensions_for_Firefox_7" title="en/Firefox/Updating extensions for Firefox 7">Updating extensions for Firefox 7</a> for additional information.</p> +<div class="note"> + <strong>Note:</strong> Firefox 7 requires that binary components be recompiled, as do all major releases of Firefox. See <a href="/En/Developer_Guide/Interface_Compatibility#Binary_Interfaces" title="En/Developer_Guide/Interface_Compatibility#Binary_Interfaces">Binary Interfaces</a> for details.</div> +<h3 id="JavaScript_code_modules">JavaScript code modules</h3> +<h4 id="FileUtils.jsm">FileUtils.jsm</h4> +<ul> + <li>New method <code>openFileOutputStream()</code> opens a file output stream, the non-safe variant, for writing.</li> +</ul> +<h4 id="AddonManager.jsm">AddonManager.jsm</h4> +<ul> + <li>The Add-on Manager has new methods for managing lists of add-ons that changed during applications startup: {{ AMInterface("AddonManager", "addStartupChange") }}, {{ AMInterface("AddonManager", "removeStartupChange") }}, and {{ AMInterface("AddonManager", "getStartupChanges") }}.</li> +</ul> +<h3 id="XUL">XUL</h3> +<ul> + <li>{{ xulelem("tree") }} elements can now persist the state of disclosure triangles if the nodes referenced by {{ XULAttr("datasources") }} all have unique IDs specified by "id" attributes.</li> + <li>{{ xulelem("panel") }} elements can now be configured to <a href="/en/XUL/PopupGuide/Panels#Letting_panels_be_dragged_by_grabbing_the_background" title="en/XUL/PopupGuide/Panels#Letting_panels_be_dragged_by_grabbing_the_background">let the user drag them by clicking anywhere on their background</a> by using the new {{ XULAttr("backdrag") }} attribute.</li> +</ul> +<h3 id="XPCOM">XPCOM</h3> +<ul> + <li>The new <a href="/en/Components.utils.schedulePreciseGC" title="en/Components.utils.schedulePreciseGC"><code>Components.utils.schedulePreciseGC()</code></a> method lets you schedule a thorough garbage collection cycle to occur at some point in the future when no JavaScript code is executing; a callback is executed once collection is complete.</li> + <li>The <a href="/en/Components.utils.unload" title="Components.utils.unload"><code>Components.utils.unload()</code></a> method lets you unload JavaScript code modules previously loaded by calling <a href="/en/Components.utils.load" title="en/Components.utils.load"><code>Components.utils.load()</code></a>.</li> +</ul> +<h3 id="Memory_reporters">Memory reporters</h3> +<p>Support has been added for multi-reporters; that is, memory reporters that gather data on request and call a callback for each generated result. See {{ interface("nsIMemoryMultiReporter") }} and {{ interface("nsIMemoryMultiReporterCallback") }} for the relevant interfaces, as well as the {{ ifmethod("nsIMemoryReporterManager", "registerMultiReporter") }} and {{ ifmethod("nsIMemoryReporterManager", "unregisterMultiReporter") }} methods.</p> +<h3 id="User_experience_changes">User experience changes</h3> +<ul> + <li>Extension options can now be <a href="/en/Extensions/Inline_Options" title="en/Extensions/Inline_Options">displayed inside the Add-on Manager</a> for both restartless and traditional extensions.</li> + <li>The destination of downloads is now remembered on a site-by-site basis. This data can be accessed using <a href="/en/JavaScript_code_modules/DownloadLastDir.jsm" title="en/JavaScript_code_modules/DownloadLastDir.jsm">DownloadLastDir.jsm</a>.</li> +</ul> +<h3 id="Changes_to_the_build_system">Changes to the build system</h3> +<ul> + <li>The ActiveX embedding API is no longer built and support has been removed from the build system. Supporting interfaces have also been removed; see {{ anch("Removed interfaces") }}.</li> + <li>You should no longer specify <code>-Zc:wchar_t-</code> when building on Windows. See the <a href="/En/Developer_Guide/Build_Instructions#Build_and_install" title="En/Developer_Guide/Build_Instructions#Build_and_install">updated Build documentation</a> for details.</li> +</ul> +<h3 id="Interface_changes">Interface changes</h3> +<ul> + <li>{{ interface("nsISocketTransport") }} now offers a new connection flag: <code>DISABLE_IPV6</code>; this causes a socket to only attempt to connect to IPv4 addresses, ignoring any available IPv6 addresses. In addition, {{ interface("nsIDNSService") }} now offers a new resolve flag: <code>RESOLVE_DISABLE_IPV6</code>; this causes domain name resolution to only consider IPv4 hosts, ignoring any available IPv6 addresses. These changes are used to implement the <a class="external" href="http://tools.ietf.org/html/draft-wing-http-new-tech-00">"happy eyeballs" strategy</a> for improving response time when attempting to connect on hosts that support both IPv4 and IPv6 (especially those that have broken IPv6 connectivity).</li> + <li>{{ interface("inIDOMUtils") }} has two new methods, {{ ifmethod("inIDOMUtils","getChildrenForNode") }} which returns a list of child nodes of a node and {{ ifmethod("inIDOMUtils","getUsedFontFaces") }} which returns a list of font faces used in a range.</li> + <li>The <code>nsIMarkupDocumentViewer_MOZILLA_2_0_BRANCH</code> interface has been merged into the {{ interface("nsIMarkupDocumentViewer") }} interface.</li> + <li>The <code>nsIDOMWindow2</code> interface has been merged into the {{ interface("nsIDOMWindow") }} interface.</li> + <li>The <code>nsIDOMWindow_2_0_BRANCH</code> interface has been merged into the {{ interface("nsIDOMWindowInternal") }} interface.</li> + <li>{{ interface("nsINavHistoryObserver") }} methods with URI parameters now require a GUID as well.</li> + <li>The <code>nsISHistory_2_0_BRANCH</code> interface has been merged into the {{ interface("nsISHistory") }} interface.</li> + <li>{{ interface("nsITelemetry") }} has a new method, {{ ifmethod("nsITelemetry","getHistogramById") }} which returns a histogram by its ID, and a new attribute, <code>canRecord</code> which when set to <code>false</code> disables recording of telemetry statistics. Telemetry statistics are no longer recorded when in Private Browsing Mode. (see {{ bug("661574") }} and {{ bug("661573") }})<br> + Telemetry histograms defined with {{ ifmethod("nsITelemetry","newHistogram") }} will not be reported in the telemetry ping.</li> + <li>The {{ interface("nsIMemoryReporter") }} interface has been substantially changed; if you use it, you will need to make some adjustments to your code.</li> + <li>{{ interface("nsIXMLHttpRequest") }}, headers set by {{ ifmethod("nsIXMLHttpRequest","setRequestHeader") }} are sent with the request when following a redirect. Previously these headers would not be sent.</li> + <li>{{ interface("nsIDocShell") }} has a new <code>allowWindowControl</code> attribute. If <code>true</code>, the docshell's content is allowed to control the window (that is, to move or resize the window).</li> + <li>The <code>nsIThreadInternal2</code> interface has been merged into the {{ interface("nsIThreadInternal") }} interface.</li> +</ul> +<h4 id="New_interfaces">New interfaces</h4> +<dl> + <dt> + {{ interface("nsIDOMFontFace") }}</dt> + <dd> + Describes a single font face.</dd> + <dt> + {{ interface("nsIDOMFontFaceList") }}</dt> + <dd> + Describes a list of font faces, each represented by {{ interface("nsIDOMFontFace") }}.</dd> +</dl> +<h4 id="Removed_interfaces">Removed interfaces</h4> +<p>The following interfaces were implementation details that are no longer needed:</p> +<ul> + <li><code>nsIDOM3Attr</code></li> + <li><code>nsIDOM3Node</code></li> + <li><code>nsIDOM3TypeInfo</code></li> + <li><code>nsIDOM3Text</code></li> + <li><code>nsIDOMDocumentStyle</code></li> + <li><code>nsIDOMNSDocument</code></li> + <li><code>nsIDOMNSFeatureFactory</code></li> + <li>{{ interface("nsIDOMNSHTMLDocument") }}</li> + <li><code>nsIDOMNSHTMLFormElement</code></li> + <li><code>nsIDOMNSHTMLHRElement</code></li> + <li><code>nsIDOMNSHTMLTextAreaElement</code></li> +</ul> +<p>The following interfaces were removed as part of the removal of the ActiveX embedding API:</p> +<ul> + <li><code>DITestScriptHelper</code></li> + <li><code>DWebBrowserEvents</code></li> + <li><code>DWebBrowserEvents2</code></li> + <li>{{ interface("IDispatch") }}</li> + <li><code>IMozControlBridge</code></li> + <li><code>IMozPluginHostCtrl</code></li> + <li><code>IWebBrowser</code></li> + <li><code>IWebBrowser2</code></li> + <li><code>IWebBrowserApp</code></li> + <li><code>IXMLDocument</code></li> + <li><code>IXMLElement</code></li> + <li><code>IXMLElementCollection</code></li> + <li><code>IXMLError</code></li> + <li><code>nsIActiveXSecurityPolicy</code></li> + <li>{{ interface("nsIDispatchSupport") }}</li> + <li><code>nsIMozAxPlugin</code></li> + <li><code>nsIScriptEventHandler</code></li> + <li><code>nsIScriptEventManager</code></li> +</ul> +<h3 id="Other_Changes">Other Changes</h3> +<ul> + <li>The structure of the library window (<code>places.xul</code>) <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=588027">has been cleaned up</a>. This <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=677417">may break extensions</a> and themes.</li> + <li>The look of the print preview window <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=663028">has been modernized</a> and theme authors are encouraged to style it using the CSS pseudo-elements {{ cssxref("::-moz-page") }}, {{ cssxref("::-moz-page-sequence") }} and {{ cssxref("::-moz-scrolled-page-sequence") }}.</li> +</ul> +<h2 id="See_also">See also</h2> +<div> + {{Firefox_for_developers('6')}}</div> diff --git a/files/zh-tw/mozilla/firefox/releases/8/index.html b/files/zh-tw/mozilla/firefox/releases/8/index.html new file mode 100644 index 0000000000..51ca78d6e7 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/8/index.html @@ -0,0 +1,259 @@ +--- +title: Firefox 8 技術文件 +slug: Mozilla/Firefox/Releases/8 +translation_of: Mozilla/Firefox/Releases/8 +--- +<div><section class="Quick_links" id="Quick_Links"> + <ol> + <li class="toggle"> + <details> + <summary>Firefox developer release notes</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Releases">Firefox developer release notes</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>擴充套件</summary> + <ol> + <li><a href="/zh-TW/Add-ons/WebExtensions">瀏覽器擴充功能</a></li> + <li><a href="/zh-TW/Add-ons/Themes">主題</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Firefox internals</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/">Mozilla project</a></li> + <li><a href="/zh-TW/docs/Mozilla/Gecko">Gecko</a></li> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Headless_mode">Headless mode</a></li> + <li><a href="/zh-TW/docs/Mozilla/JavaScript_code_modules">JavaScript 程式碼模組</a></li> + <li><a href="/zh-TW/docs/Mozilla/js-ctypes">JS-ctypes</a></li> + <li><a href="/zh-TW/docs/Mozilla/MathML_Project">MathML 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/MFBT">MFBT</a></li> + <li><a href="/zh-TW/docs/Mozilla/Projects">Mozilla 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/Preferences">Preference system</a></li> + <li><a href="/zh-TW/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XPCOM">XPCOM</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XUL">XUL</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Building and contributing</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions">建置教學</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuring build options</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">How the build system works</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Mozilla 原始碼</a></li> + <li><a href="/zh-TW/docs/Mozilla/Localization">在地化</a></li> + <li><a href="/zh-TW/docs/Mozilla/Mercurial">Mercurial</a></li> + <li><a href="/zh-TW/docs/Mozilla/QA">Quality assurance</a></li> + <li><a href="/zh-TW/docs/Mozilla/Using_Mozilla_code_in_other_projects">在我們的專案中使用 Mozilla 程式碼</a></li> + </ol> + </details> + </li> + </ol> +</section></div><p>Firefox 8 was released on November 8, 2011. This article provides information both for <a href="/en/Firefox_8_for_developers#Changes_for_web_developers" title="en/Firefox_8_for_developers#Changes_for_web_developers">web developers</a> and for add-on and <a href="/en/Firefox_8_for_developers#Changes_for_Mozilla_and_add-on_developers" title="en/Firefox_8_for_developers#Changes_for_Mozilla_and_add-on_developers">Mozilla project developers</a> to help take full advantage of the features of this release.</p> + +<h2 id="Changes_for_web_developers">Changes for web developers</h2> + +<h3 id="HTML">HTML</h3> + +<ul> + <li>The <a href="/zh-TW/docs/Web/API/HTMLImageElement" title="HTMLImageElement 介面提供了特殊的屬性及方法以用來操作 <img> 元素的畫面佈局與外觀呈現。"><code>HTMLImageElement</code></a> <code>crossOrigin</code> property has been added and the <code><a href="/zh-TW/docs/Web/HTML/Element/img#attr-crossorigin">crossorigin</a></code> attribute has been added to the <a href="/zh-TW/docs/Web/HTML/Element/img" title="The documentation about this has not yet been written; please consider contributing!"><code><img></code></a> element. (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=664299" title="FIXED: Add crossorigin attribute">bug 664299</a>)</li> + <li>The <a href="/zh-TW/docs/Web/API/HTMLSelectElement#add()" title=""><code>HTMLSelectElement.add()</code></a> method now supports either an item or index of an item that the new item should be inserted before. Previously it only supported an item. (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=666200" title="FIXED: support select.add(element, long before)">bug 666200</a>)</li> + <li>The <code>HTMLIsIndexElement</code> constructor has been removed. No elements have implemented this interface since before Firefox 4.</li> + <li>The HTML5 "context menu" feature (<code>contextmenu</code> attribute), which lets you add custom element specific items to native context menu, is now supported (the implementation is still experimental awaiting changes in the specification; see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=617528" title='FIXED: implement the HTML5 "context menu" feature (contextmenu attribute)'>bug 617528</a>).</li> + <li>Support for the <a href="/en/HTML/Global_attributes#attr-accesskeylabel" title="https://developer.mozilla.org/en/HTML/Global_attributes#attr-accesskeylabel"><code>accesskeylabel</code></a> attribute has been added to all elements.</li> + <li>The <a href="/zh-TW/docs/Web/HTML/Element/input" title="The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user."><code><input></code></a> and <a href="/zh-TW/docs/Web/HTML/Element/textarea" title="The documentation about this has not yet been written; please consider contributing!"><code><textarea></code></a> elements now support the <code>selectionDirection</code> attribute, and their <code>setSelectionRange()</code> methods have been updated to support optionally specifying a direction.</li> + <li>Most elements now get a focus ring drawn around them if they've been made focusable by using the <code>tabindex</code> attribute and the user then focuses the element.</li> + <li>In a set of nested <a href="/zh-TW/docs/Web/HTML/Element/label" title="The documentation about this has not yet been written; please consider contributing!"><code><label></code></a> elements click events do no longer trigger multiple <label> elements, which caused Firefox to stop responding in the past (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=646157" title="FIXED: Stops responding when selecting a checkbox on the Netapp admin page inside deeply nested <label>s">bug 646157</a>).</label></li> +</ul> + +<h3 id="DOM">DOM</h3> + +<ul> + <li>The <a href="/zh-TW/docs/Web/API/Element/insertAdjacentHTML" title="insertAdjacentHTML() 把傳入的字串解析成 HTML 或 XML,並把該節點插入到 DOM 樹指定的位置。它不會重新解析被使用的元素,因此他不會破壞該元素裡面原有的元素。這避免了序列化的複雜步驟,使得它比直接操作 innerHTML 快上許多。"><code>insertAdjacentHTML</code></a> method has been implemented.</li> + <li><a href="/zh-TW/docs/Web/API/BlobBuilder" title="The documentation about this has not yet been written; please consider contributing!"><code>BlobBuilder</code></a> now has a <code>getFile()</code> method that returns the content of the blob as a file.</li> + <li>The <a href="/zh-TW/docs/Web/API/FileReaderSync" title="The documentation about this has not yet been written; please consider contributing!"><code>FileReaderSync</code></a> interface (part of the FileAPI) has been implemented.</li> + <li>Event handling in nested <a href="/zh-TW/docs/Web/HTML/Element/label" title="The documentation about this has not yet been written; please consider contributing!"><code><label></code></a>s has been fixed.</li> + <li>You can now use <a href="/zh-TW/docs/Web/API/Window/postMessage" title="The documentation about this has not yet been written; please consider contributing!"><code>window.postMessage()</code></a> to pass <a href="/zh-TW/docs/Web/API/File" title="File 介面提供了檔案的資訊並且允許網頁中的 JavaScript 存取檔案的內容。"><code>File</code></a> and <a href="/zh-TW/docs/Web/API/FileList" title='FileList 型別物件通常來自 HTML &lt;input> 元素 DOM 物件的 files 屬性(property)。你可以操作 FileList 物件來存取使用者透過 &lt;input type="file"> 元素所選取的檔案,或由拖放操作所產生的檔案(請參考 DataTransfer 物件的更多使用細節)。'><code>FileList</code></a> objects between windows.</li> + <li>When editing <a href="/zh-TW/docs/Web/API/Element/contenteditable" title="The documentation about this has not yet been written; please consider contributing!"><code>element.contenteditable</code></a> areas, exiting a heading by pressing return, or exiting list editing mode by pressing return twice, now returns to paragraph entry mode (that is, paragraphs inside <a href="/zh-TW/docs/Web/HTML/Element/p" title="The documentation about this has not yet been written; please consider contributing!"><code><p></code></a> blocks) instead of separating lines by <a href="/zh-TW/docs/Web/HTML/Element/br" title="HTML <br> 元素會產生文字的斷行(carriage-return、CR 或是確認鍵)。此元素主要用於寫詩或寫住址,這種斷行有所意義的時候。"><code><br></code></a> elements.</li> + <li>Fixed a bug that prevents justification from taking effect properly when applied to the first line in a <a href="/zh-TW/docs/Web/API/Element/contenteditable" title="The documentation about this has not yet been written; please consider contributing!"><code>element.contenteditable</code></a> area.</li> + <li>Fixed a bug that caused pressing delete or backspace at the beginning of a <a href="/zh-TW/docs/Web/API/Element/contenteditable" title="The documentation about this has not yet been written; please consider contributing!"><code>element.contenteditable</code></a> area to affect the previous <code>contenteditable</code> block if one is present.</li> + <li><a href="/zh-TW/docs/Web/API/Document/getSelection" title="The documentation about this has not yet been written; please consider contributing!"><code>document.getSelection()</code></a> now returns the same <code>Selection</code> object as <a href="/zh-TW/docs/Web/API/Window/getSelection" title="The documentation about this has not yet been written; please consider contributing!"><code>window.getSelection()</code></a>, instead of <em>stringifying</em> it.</li> + <li>The HTML5 <code>selectionDirection</code> property makes it possible to define the direction of the selection in an editable text.</li> + <li><a href="/zh-TW/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a> now have a <code>seekable</code> property that return a <a href="/zh-TW/docs/Web/API/TimeRanges" title="The documentation about this has not yet been written; please consider contributing!"><code>TimeRanges</code></a> object.</li> + <li>The <a href="/zh-TW/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a><code>.preload</code> attribute now correctly reflects as an <em>enumerated value</em>.</li> + <li><a href="/en/HTML/CORS_settings_attributes" title="en/HTML/CORS_settings_attributes"><code>crossOrigin</code> property</a> defaults to "Anonymous" when an invalid value is used.</li> + <li><a href="/zh-TW/docs/Web/API/Window/navigator/cookieEnabled" title="The documentation about this has not yet been written; please consider contributing!"><code>window.navigator.cookieEnabled</code></a> now returns correct information when the default cookie setting is overridden on a per-site basis.</li> +</ul> + +<h3 id="JavaScript">JavaScript</h3> + +<ul> + <li><code><a href="/en/JavaScript/Reference/Global_Objects/RegExp/exec" title="en/JavaScript/Reference/Global Objects/RegExp/exec">RegExp.exec()</a></code> and <code><a href="/en/JavaScript/Reference/Global_Objects/RegExp/test" title="en/JavaScript/Reference/Global Objects/RegExp/test">RegExp.test()</a></code> called with no arguments now match against the string "undefined".</li> + <li><code><a href="/en/JavaScript/Reference/Global_Objects/String/search" title="en/JavaScript/Reference/Global Objects/String/search">String.search()</a></code> and <code><a href="/en/JavaScript/Reference/Global_Objects/String/match" title="en/JavaScript/Reference/Global Objects/String/match">String.match()</a></code> called with no arguments or <code>undefined</code> now match against the empty string and thus match every string.</li> + <li>Support for watchlists has been implemented with the new (non-standard) <a href="/en/JavaScript/Reference/Global_Objects/Object/watch" title="en/JavaScript/Reference/Global_Objects/Object/watch"><code>watch()</code></a> and <a href="/en/JavaScript/Reference/Global_Objects/Object/unwatch" title="en/JavaScript/Reference/Global_Objects/Object/unwatch"><code>unwatch()</code></a> methods.</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<ul> + <li><a href="/zh-TW/docs/Web/CSS/resolution" title="The documentation about this has not yet been written; please consider contributing!"><code>resolution</code></a> now accepts <a href="/zh-TW/docs/Web/CSS/number" title="The documentation about this has not yet been written; please consider contributing!"><code><number></code></a>, not just <a href="/zh-TW/docs/Web/CSS/integer" title="The documentation about this has not yet been written; please consider contributing!"><code><integer></code></a> values as per the specification.</li> + <li>Hyphenation rules have been added for many new languages when using <a href="/zh-TW/docs/Web/CSS/hyphens" title="The documentation about this has not yet been written; please consider contributing!"><code>hyphens</code></a>.</li> + <li>Handling of <a href="/zh-TW/docs/Web/CSS/background-size" title="The documentation about this has not yet been written; please consider contributing!"><code>background-size</code></a> has been revised to more closely match the specification.</li> + <li>In the past, <a href="/zh-TW/docs/Web/CSS/text-decoration" title="The documentation about this has not yet been written; please consider contributing!"><code>text-decoration</code></a> in quirks mode had line thickness and position adjusted on descendant text to match the descendant. Now standards mode and quirks mode rendering are more similar.</li> + <li>Horizontal positioning for elements has been brought more in line with the specification in many cases. Documentation for this is forthcoming, but for now, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=682780" title="jig.com looks different in aurora vs. firefox">bug 682780</a>, comment 23 for details.</li> + <li><a href="/en/CSS/Scaling_of_SVG_backgrounds" title="en/CSS/Scaling_of_SVG_backgrounds">SVG images are now scaled properly</a> when used as background images.</li> +</ul> + +<h3 id="Network">Network</h3> + +<ul> + <li>Double quotes are no longer accepted as a delimiter for <a href="https://tools.ietf.org/html/rfc2231">RFC 2231</a> or <a href="https://tools.ietf.org/html/rfc5987">RFC 5987</a> encoding, as per those RFCs.</li> + <li>MIME header field parser (<code>Content-Disposition</code>) now requires "=" in parameters.</li> + <li>Scripts are no longer downloaded when JavaScript is disabled.</li> + <li>SSL 2.0 is no longer supported.</li> +</ul> + +<h3 id="WebSockets">WebSockets</h3> + +<ul> + <li>The <a href="/en/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> object's <a href="/en/WebSockets/WebSockets_reference/WebSocket#send()" title="en/WebSockets/WebSockets reference/WebSocket#send()"><code>send()</code></a> method no longer incorrectly returns a Boolean value.</li> + <li>The <a href="/en/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> object's <a href="/en/WebSockets/WebSockets_reference/WebSocket#close()" title="en/WebSockets/WebSockets_reference/WebSocket#close()"><code>close()</code></a> method now matches the current draft of the standard, and close events now properly use the <a href="/en/WebSockets/WebSockets_reference/CloseEvent" title="CloseEvent"><code>CloseEvent</code></a> interface.</li> + <li>The <a href="/en/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> object's <code>extensions</code> attribute is now supported.</li> + <li>The WebSocket constructor now supports an array of protocols as well as a single protocol string.</li> + <li>Mixed content is not allowed with WebSockets; that is, you can no longer open a connection to a non-secure WebSocket server from secure content.</li> + <li>Connection errors with WebSockets now trigger the <code>onerror</code> handler.</li> + <li><a href="/en/WebSockets" title="en/WebSockets">WebSocket</a> API has been updated to the latest draft of the specification (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674890" title="FIXED: Update WebSocket API to latest draft - send() should return void">bug 674890</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674527" title="FIXED: Update WebSocket API to latest draft - array of protocols in ctor">bug 674527</a>, and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674716" title="FIXED: Update WebSocket API to latest draft - close codes and reasons">bug 674716</a>).</li> + <li>The deflate-stream extension to WebSockets has been disabled; it has been deprecated, and was breaking compatibility with some sites.</li> +</ul> + +<h3 id="WebGL">WebGL</h3> + +<ul> + <li><a href="/en/WebGL/Cross-Domain_Textures" title="en/WebGL/Cross-Domain Textures">Cross-domain textures</a> can now be allowed with CORS approval.</li> + <li>Cross-process rendering with Direct2D/Direct3D 10.</li> +</ul> + +<h3 id="MathML">MathML</h3> + +<ul> + <li>Support for the <code>displaystyle</code> attribute on the top-level <code><a href="/zh-TW/docs/Web/MathML/Element/math" title="<math>"><math></a></code> element has been added.</li> + <li>The interpretation of negative row numbers for the <code>align</code> attribute on <code><a href="/zh-TW/docs/Web/MathML/Element/mtable" title="<mtable>"><mtable></a></code> has been corrected.</li> +</ul> + +<h3 id="Developer_tools">Developer tools</h3> + +<ul> + <li>The <a href="/en/Tools/Web_Console#The_console_object" title="en/Using_the_Web_Console#The_console_object"><code>console</code></a> object has a new <code>dir()</code> method, which displays an interactive list of the properties on a specified object.</li> +</ul> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>See <a href="/en/Firefox/Updating_add-ons_for_Firefox_8" title="en/Firefox/Updating_add-ons_for_Firefox_8">Updating add-ons for Firefox 8</a> for a guide to changes you're likely to have to make to make your add-ons compatible with Firefox 8.</p> + +<div class="note"><strong>Note:</strong> Firefox 8 requires that binary components be recompiled, as do all major releases of Firefox. See <a href="/En/Developer_Guide/Interface_Compatibility#Binary_Interfaces" title="En/Developer_Guide/Interface_Compatibility#Binary_Interfaces">Binary Interfaces</a> for details.</div> + +<h3 id="XPCOM">XPCOM</h3> + +<dl> + <dt><a href="/en/Components.utils" title="en/Components.utils"><code>Components.utils</code></a></dt> + <dd>The new methods <a href="/en/Components.utils.createObjectIn" title="en/Components.utils.createObjectIn"><code>Components.utils.createObjectIn()</code></a> and <a href="/en/Components.utils.makeObjectPropsNormal" title="en/Components.utils.makeObjectPropsNormal"><code>Components.utils.makeObjectPropsNormal()</code></a> have been created to make it easier to create objects in specific compartments.</dd> +</dl> + +<h4 id="Other_XPCOM_related_changes">Other XPCOM related changes</h4> + +<ul> + <li>You can now instantiate DOM <a href="/zh-TW/docs/Web/API/File" title="File 介面提供了檔案的資訊並且允許網頁中的 JavaScript 存取檔案的內容。"><code>File</code></a> objects from component code by simply doing new File, instead of having to instantiate an <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMFile" title="">nsIDOMFile</a></code> directly.</li> + <li>The <code>nsTPtrArray</code> array type has been removed. Its functionality is now all available on <code>nsTArray</code>, which now offers the <code>SafeElementAt()</code> method when instantiated using a pointer type. See the section on <a href="/en/XPCOM_array_guide#Bounds-safe_access_to_elements" title="en/XPCOM_array_guide#Bounds-safe_access_to_elements"><code>SafeElementAt()</code></a> in the <a href="/en/XPCOM_array_guide" title="XPCOM array guide">XPCOM array guide</a> for more information.</li> +</ul> + +<h3 id="Workers">Workers</h3> + +<p>It is no longer possible to access XPCOM objects from ChromeWorkers. XPConnect has been disabled in worker contexts as of <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=649537" title="FIXED: Workers: Make one OS thread and JS runtime per worker, and lose XPConnect">bug 649537</a>.</p> + +<h3 id="XUL">XUL</h3> + +<ul> + <li>A bug in <a href="/zh-TW/docs/Web/API/Document/execCommand" title="当一个HTML文档切换到设计模式,文档对象会暴漏execCommand 方法,可以让用户运行命令操作可编辑区域的内容。大多指令作用于文档的选择(加粗,斜体等等),另外一些则是插入新元素(如添加一个链接)或者作用于一整行(如缩进)。当使用contentEditable 属性时,使用execCommand() 将会作用于当前激活的可编辑区域。"><code>document.execCommand()</code></a> that occurred when calling it on the value of <code><span><a href="https://developer.mozilla.org/zh-TW/docs/XUL/Property/contentDocument">contentDocument</a></span></code> has been fixed. Since Firefox 3, this resulted in errors instead of working correctly.</li> + <li><a href="/en/Extensions/Bootstrapped_extensions" title="Bootstrapped extensions">Bootstrapped add-ons</a> can now load chrome using a <a href="/en/Chrome_Registration" title="en/chrome.manifest"><code>chrome.manifest</code></a> file. See the section <a href="/en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest" title="en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest">Adding user interface with a chrome.manifest</a> for details.</li> + <li><a href="/en/XUL/image" title="en/XUL/image">XUL images</a> now shrink down with the same ratio in both directions when specifying maximum sizes.</li> +</ul> + +<h3 id="Changes_to_the_build_system">Changes to the build system</h3> + +<ul> + <li>The following build configuration options have been removed: + <ul> + <li><code>--enable-timeline</code></li> + <li><code>--disable-storage</code></li> + <li><code>--necko-disk-cache</code></li> + </ul> + </li> + <li>When compiling IDL files to headers, the header file <code>jspubtd.h</code> is automatically included when needed. Manual inclusions of <code>jspubtd.h</code> and/or <code>jsapi.h</code> in IDL files that use jsval or [implicit_jscontext] are no longer necessary.</li> +</ul> + +<h3 id="Chrome_registration">Chrome registration</h3> + +<ul> + <li>The <a href="/en/Chrome_Registration#platformversion" title="en/Chrome_Registration#platformversion"><code>platformversion</code></a> flag can be used in the chrome.manifest to specify Gecko version compatibility.</li> +</ul> + +<h3 id="Interface_changes">Interface changes</h3> + +<ul> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/mozIJSSubScriptLoader#loadSubScript()">mozIJSSubScriptLoader.loadSubScript()</a></code> method now loads scripts from the startup cache when possible.</li> + <li>The <code>ownerWindow</code> attribute has been removed from the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAccessNode" title="">nsIAccessNode</a></code> interface.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMStorageWindow" title="">nsIDOMStorageWindow</a></code> interface has been merged into the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindow" title="">nsIDOMWindow</a></code> interface.</li> + <li>All members of the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindowInternal" title="">nsIDOMWindowInternal</a></code> interface have been moved into the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindow" title="">nsIDOMWindow</a></code> interface. The interface itself (with no members) remains available for compatibility until Firefox 9.</li> + <li>In order to improve performance, callback handling for asynchronous Places database updates has been changed. See the new <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/mozIVisitInfoCallback#handleResult()">mozIVisitInfoCallback.handleResult()</a></code> and <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/mozIVisitInfoCallback#handleError()">mozIVisitInfoCallback.handleError()</a></code> methods, which replace the old single method for both error and success condition handling.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporter" title="">nsIMemoryReporter</a></code> <code>KIND_MAPPED</code> attribute has been deprecated in favor of <code>KIND_NONHEAP</code>, new unit types <code>UNITS_COUNT_CUMULATIVE</code> and <code>UNITS_PERCENTAGE</code> have been added.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporterManager" title="">nsIMemoryReporterManager</a></code> interface has a new <code>explicit</code> attribute, which reports the total size of explicit memory allocations.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporterManager" title="">nsIMemoryReporterManager</a></code> interface has a new <code>resident</code> attribute, which reports the amount of physical memory used.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINetworkLinkService" title="">nsINetworkLinkService</a></code> interface has a new attribute, <code>linkType</code>. This attribute provides the type of network connection in use. All Operating Systems currently return <code>LINK_TYPE_UNKNOWN</code>. Android support was backed out due to perceived security concerns.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection2" title="">nsISelection2</a></code> interface has been merged into the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelectionPrivate" title="">nsISelectionPrivate</a></code> interface.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection3" title="">nsISelection3</a></code> interface has been merged into the <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection" title="">nsISelection</a></code> interface.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISessionStartup" title="">nsISessionStartup</a></code> attribute state is now a <a href="/En/SpiderMonkey/JSAPI_Reference/Jsval" title="en/jsval"><code>jsval</code></a> instead of a string, for performance reasons.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDocShell" title="">nsIDocShell</a></code> attribute <code>isActive</code> is now <code>false</code> for minimized windows.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIDownloadHistory#addDownload()">nsIDownloadHistory.addDownload()</a></code> method now saves <span id="summary_alias_container"><span id="short_desc_nonedit_display">the the target where the download is saved on the local file system.</span></span></li> +</ul> + +<h4 id="Removed_interfaces">Removed interfaces</h4> + +<p>The following interfaces were implementation details that are no longer needed:</p> + +<ul> + <li><code>nsITimelineService</code></li> + <li><code>nsIDOMHTMLIsIndexElement</code></li> +</ul> + +<p>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWorkerFactory" title="">nsIWorkerFactory</a></code> interface has been removed as well. Workers can still be created using the <code>Worker</code> and <code>ChromeWorker</code> constructors.</p> + +<h3 id="Other_changes">Other changes</h3> + +<ul> + <li>When a window is minimized, un-minimized, or switches between full screen and windowed mode, it receives a <code>sizemodechange</code> event.</li> + <li>You can now <a href="/en/Installing_extensions#Preventing_automatic_install_from_specific_locations" title="en/Installing_extensions#Preventing_automatic_install_from_specific_locations">use the <code>extensions.autoDisableScopes</code> preference</a> to disable automatic installation of add-ons from specific add-on install locations.</li> + <li>The new <a href="/zh-TW/docs/Web/API/Document/mozSyntheticDocument" title="The documentation about this has not yet been written; please consider contributing!"><code>document.mozSyntheticDocument</code></a> property on <a href="/zh-TW/docs/Web/API/Document" title="Document 介面代表所有在瀏覽器中載入的網頁,也是作為網頁內容 DOM 樹"><code>Document</code></a> objects lets you determine whether a document is synthetic (that is, something like a standalone image, video, or audio file) rather than a full, standard DOM document. This can be useful, for example, if you want to present different user interface in this situation (such as adding contextual items differently depending on this case).</li> + <li>You can now specify a filter when opening <code>about:config</code>; for example, "about:config?filter=sessionstore" will show only session storage related preferences.</li> +</ul> + +<h2 id="See_also">See also</h2> + +<ul> + <li><a href="/en/Firefox_7_for_developers" title="en/Firefox_7_for_developers">Firefox 7 for developers</a></li> + <li><a href="/en/Firefox_6_for_developers" title="en/Firefox_6_for_developers">Firefox 6 for developers</a></li> + <li><a href="/en/Firefox_5_for_developers" title="en/Firefox_5_for_developers">Firefox 5 for developers </a></li> + <li><a href="/en/Firefox_4_for_developers" title="en/Firefox_4_for_developers">Firefox 4 for developers </a></li> + <li><a href="/en/Firefox_3.6_for_developers" title="en/Firefox_3.6_for_developers">Firefox 3.6 for developers </a></li> + <li><a href="/En/Firefox_3.5_for_developers" title="En/Firefox_3.5_for_developers">Firefox 3.5 for developers</a></li> + <li><a href="/en/Firefox_3_for_developers" title="en/Firefox_3_for_developers">Firefox 3 for developers</a></li> + <li><a href="/en/Firefox_2_for_developers" title="en/Firefox_2_for_developers">Firefox 2 for developers</a></li> + <li><a href="/en/Firefox_1.5_for_developers" title="en/Firefox_1.5_for_developers">Firefox 1.5 for developers</a></li> +</ul> diff --git a/files/zh-tw/mozilla/firefox/releases/9/index.html b/files/zh-tw/mozilla/firefox/releases/9/index.html new file mode 100644 index 0000000000..39e727c628 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/9/index.html @@ -0,0 +1,231 @@ +--- +title: Firefox 9 技術文件 +slug: Mozilla/Firefox/Releases/9 +translation_of: Mozilla/Firefox/Releases/9 +--- +<div><section class="Quick_links" id="Quick_Links"> + <ol> + <li class="toggle"> + <details> + <summary>Firefox developer release notes</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Releases">Firefox developer release notes</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>擴充套件</summary> + <ol> + <li><a href="/zh-TW/Add-ons/WebExtensions">瀏覽器擴充功能</a></li> + <li><a href="/zh-TW/Add-ons/Themes">主題</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Firefox internals</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/">Mozilla project</a></li> + <li><a href="/zh-TW/docs/Mozilla/Gecko">Gecko</a></li> + <li><a href="/zh-TW/docs/Mozilla/Firefox/Headless_mode">Headless mode</a></li> + <li><a href="/zh-TW/docs/Mozilla/JavaScript_code_modules">JavaScript 程式碼模組</a></li> + <li><a href="/zh-TW/docs/Mozilla/js-ctypes">JS-ctypes</a></li> + <li><a href="/zh-TW/docs/Mozilla/MathML_Project">MathML 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/MFBT">MFBT</a></li> + <li><a href="/zh-TW/docs/Mozilla/Projects">Mozilla 專案</a></li> + <li><a href="/zh-TW/docs/Mozilla/Preferences">Preference system</a></li> + <li><a href="/zh-TW/docs/Mozilla/WebIDL_bindings">WebIDL bindings</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XPCOM">XPCOM</a></li> + <li><a href="/zh-TW/docs/Mozilla/Tech/XUL">XUL</a></li> + </ol> + </details> + </li> + <li class="toggle"> + <details> + <summary>Building and contributing</summary> + <ol> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions">建置教學</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuring build options</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">How the build system works</a></li> + <li><a href="/zh-TW/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Mozilla 原始碼</a></li> + <li><a href="/zh-TW/docs/Mozilla/Localization">在地化</a></li> + <li><a href="/zh-TW/docs/Mozilla/Mercurial">Mercurial</a></li> + <li><a href="/zh-TW/docs/Mozilla/QA">Quality assurance</a></li> + <li><a href="/zh-TW/docs/Mozilla/Using_Mozilla_code_in_other_projects">在我們的專案中使用 Mozilla 程式碼</a></li> + </ol> + </details> + </li> + </ol> +</section></div> + +<p>Firefox 9 was released for Windows on December 20, 2011. Mac and Linux version 9.0.1, which fixed a crashing bug discovered at the last minute, were released on December 21, 2011.</p> + +<h2 id="Changes_for_web_developers">Changes for web developers</h2> + +<h3 id="HTML">HTML</h3> + +<ul> + <li>The <code>value</code> attribute of <a href="/zh-TW/docs/Web/HTML/Element/li" title="The documentation about this has not yet been written; please consider contributing!"><code><li></code></a> now can be negative as specified in HTML5. Previously negative values were converted to 0.</li> + <li>You can now <a href="/en-US/docs/Using_HTML5_audio_and_video#Specifying_playback_range" title="en-US/docs/Using_HTML5_audio_and_video#Specifying_playback_range">specify the start and stop time of media</a> in the URI of the media when using <a href="/zh-TW/docs/Web/HTML/Element/audio" title="The documentation about this has not yet been written; please consider contributing!"><code><audio></code></a> and <a href="/zh-TW/docs/Web/HTML/Element/video" title="The documentation about this has not yet been written; please consider contributing!"><code><video></code></a> elements.</li> + <li><a href="/zh-TW/docs/Web/HTML/Element/input" title="The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user."><code><input></code></a> and <a href="/zh-TW/docs/Web/HTML/Element/textarea" title="The documentation about this has not yet been written; please consider contributing!"><code><textarea></code></a> elements <a href="/en-US/docs/HTML/Controlling_spell_checking_in_HTML_forms#Controlling_the_spellchecker_language" title="en-US/docs/HTML/Controlling_spell_checking_in_HTML_forms#Controlling_the_spellchecker_language">now respect the value of the <code>lang</code> attribute</a> when invoking the spell checker.</li> + <li>Firefox on Android now lets users snap photos with their phone's camera without leaving the browser when the <a href="/zh-TW/docs/Web/HTML/Element/input" title="The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user."><code><input></code></a> element is used with <code>type="file"</code> and <code>accept="image/*"</code>.</li> + <li>Windows Vista style PNG ICO images are now supported.</li> + <li>Drawing images that use the <a href="/en-US/docs/HTML/CORS_settings_attributes" title="CORS settings attributes"><code>crossorigin</code></a> attribute to request CORS access no longer incorrectly <a href="/en-US/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F" title="en-US/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F">taint the canvas</a> when CORS is granted.</li> + <li>The value of the <code><a href="/zh-TW/docs/Web/HTML/Element/td#attr-rowspan">rowspan</a></code> attribute may now be as large as 65,534, up from 8190.</li> +</ul> + +<h3 id="CSS">CSS</h3> + +<ul> + <li>The <a href="/zh-TW/docs/Web/CSS/font-stretch" title="The documentation about this has not yet been written; please consider contributing!"><code>font-stretch</code></a> property is now supported.</li> + <li>The <a href="/zh-TW/docs/Web/CSS/columns" title="The documentation about this has not yet been written; please consider contributing!"><code>columns</code></a> property is now supported, with the <code>-moz</code> prefix. This is a shorthand for the following properties: <a href="/zh-TW/docs/Web/CSS/column-width" title="The documentation about this has not yet been written; please consider contributing!"><code>column-width</code></a> and <a href="/zh-TW/docs/Web/CSS/column-count" title="The documentation about this has not yet been written; please consider contributing!"><code>column-count</code></a>.</li> + <li>When a stylesheet included using the <a href="/zh-TW/docs/Web/HTML/Element/link" title="The documentation about this has not yet been written; please consider contributing!"><code><link></code></a> element has been fully loaded and parsed (but not yet applied to the document), a <a href="/en-US/docs/HTML/Element/link#Stylesheet_load_events" title="en-US/docs/HTML/Element/link#Stylesheet_load_events"><code>load</code> event</a> is now fired. Also, if an error occurs processing a style sheet, an <code>error</code> event is fired.</li> + <li>You can now specify overflow settings for both the left and right edges of content using a new two-value syntax for <a href="/zh-TW/docs/Web/CSS/text-overflow" title="The documentation about this has not yet been written; please consider contributing!"><code>text-overflow</code></a>.</li> +</ul> + +<h3 id="JavaScript">JavaScript</h3> + +<p><em>No change.</em></p> + +<h3 id="DOM">DOM</h3> + +<dl> + <dt><a href="/en-US/docs/DOM/Using_full-screen_mode" title="Using full-screen mode">Using full-screen mode</a></dt> + <dd>The new full-screen API provides a way to present content using the entire screen, with no browser interface. This is great for video and games. This API is currently experimental and prefixed.</dd> +</dl> + +<ul> + <li>The <a href="/zh-TW/docs/Web/API/Node/contains" title="The documentation about this has not yet been written; please consider contributing!"><code>Node.contains()</code></a> method is now implemented; this lets you determine if a given node is a descendant of another node.</li> + <li>The <a href="/zh-TW/docs/Web/API/Node/parentElement" title="The documentation about this has not yet been written; please consider contributing!"><code>Node.parentElement</code></a> attribute has been implemented; this returns the parent <a href="/zh-TW/docs/Web/API/Element" title="Element 介面表示了一個在 Document 中的物件,其描述了各類型元素的共同屬性與方法,Element 的子介面則定義了不同類型元素的具體行為並增加額外的功能。"><code>Element</code></a> of a DOM node, or <code>null</code> if the parent isn't an element.</li> + <li>DOM Level 3 <a href="/en-US/docs/DOM/CompositionEvent" title="CompositionEvent">composition events</a> are now supported.</li> + <li>The <a href="/zh-TW/docs/Web/API/Document/scripts" title="The documentation about this has not yet been written; please consider contributing!"><code>Document.scripts</code></a> attribute has been implemented; this returns an <a href="/zh-TW/docs/Web/API/HTMLCollection" title="HTMLCollection 介面表示了一種成員為 Element 物件的通用集合(如 arguments 一般的類陣列,成員順序同元素在文件中的順序),並提供了可用來選取集合成員的方法與屬性。"><code>HTMLCollection</code></a> of all the <a href="/zh-TW/docs/Web/HTML/Element/script" title="HTML <script> 元素能嵌入或引用要執行的程式碼。最常見的用途是嵌入或引用 JavaScript 程式碼。"><code><script></code></a> elements on the document.</li> + <li>The <a href="/zh-TW/docs/Web/API/Document/queryCommandSupported" title="The documentation about this has not yet been written; please consider contributing!"><code>Document.queryCommandSupported()</code></a> method has been implemented.</li> + <li>The set of events that can be listened for on <a href="/zh-TW/docs/Web/HTML/Element/body" title="The documentation about this has not yet been written; please consider contributing!"><code><body></code></a> elements has been revised to match the latest draft of the HTML5 specification. The list of events in the <a href="/en-US/docs/DOM/DOM_event_reference" title="DOM event reference">DOM event reference</a> reflects which events can be listened for on <a href="/zh-TW/docs/Web/HTML/Element/body" title="The documentation about this has not yet been written; please consider contributing!"><code><body></code></a>.</li> + <li>The <code>readystatechange</code> event is now fired only on the <a href="/zh-TW/docs/Web/API/Document" title="Document 介面代表所有在瀏覽器中載入的網頁,也是作為網頁內容 DOM 樹"><code>Document</code></a>, as intended.</li> + <li>Event handlers are now implemented as standard IDL interfaces. For most cases, this won't affect content, but <a href="/en-US/docs/DOM/DOM_event_handlers#Event_handler_changes_in_Firefox_9" title="en-US/docs/DOM/DOM_event_handlers#Event_handler_changes_in_Firefox_9">there are exceptions</a>.</li> + <li>A new response type, "<code>moz-json</code>", has been added to <code>XMLHttpRequest</code>, letting <code>XMLHttpRequest</code> automatically parse <a href="/en-US/docs/JSON" title="JSON">JSON</a> strings for you; when you request this type, a returned JSON string is parsed, so that the value of the <code>response</code> property is the resulting JavaScript object.</li> + <li><a href="/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Monitoring_progress" title="en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Monitoring_progress"><code>XMLHttpRequest</code> "progress" events</a> are now reliably sent for every chunk of data received; in the past it was possible for the last chunk of data received to not fire a "progress" event. Now you can track progress by following only "progress" events, instead of also having to monitor "load" events to detect the receipt of the last chunk of data.</li> + <li>In the past, calling <a href="/en-US/docs/DOM/element.addEventListener" title="element.addEventListener"><code>addEventListener()</code></a> with a <code>null</code> listener would throw an exception. Now it returns without error and with no effect.</li> + <li>The new <a href="/zh-TW/docs/Web/API/Navigator/doNotTrack" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.doNotTrack</code></a> property lets your content easily determine whether or not the user has enabled their do-no-track preference; if this value is "yes", you should not track the user.</li> + <li><a href="/zh-TW/docs/Web/API/Range" title="Range 介面代表一個文件的片段(fragment),可以包含節點及部分的文字節點。"><code>Range</code></a> and <a href="/zh-TW/docs/Web/API/Selection" title="The documentation about this has not yet been written; please consider contributing!"><code>Selection</code></a> objects now behave according to their specifications when <a href="/zh-TW/docs/Web/API/Text/splitText" title="The documentation about this has not yet been written; please consider contributing!"><code>splitText()</code></a> and <a href="/zh-TW/docs/Web/API/Node/normalize" title="The documentation about this has not yet been written; please consider contributing!"><code>normalize()</code></a> are called.</li> + <li>The value of <a href="/zh-TW/docs/Web/API/Node/ownerDocument" title="Node.ownerDocument 唯讀屬性會回傳一個此節點所屬的的頂層 document 物件。"><code>Node.ownerDocument</code></a> for doctype nodes is now the document on which <a href="/en-US/docs/DOM/DOMImplementation.createDocumentType" title="DOMImplementation.createDocumentType"><code>createDocumentType()</code></a> was called to create the node, instead of <code>null</code>.</li> + <li><code>window.navigator.taintEnabled</code> has been removed; it has not been supported in many years.</li> +</ul> + +<h3 id="Workers">Workers</h3> + +<ul> + <li>Workers implemented in blob URLs were broken in Firefox 8, and work again starting in Firefox 9.</li> +</ul> + +<h3 id="WebGL">WebGL</h3> + +<ul> + <li>The <a href="/en-US/docs/WebGL" title="WebGL">WebGL</a> context <code>drawingBufferWidth</code> and <code>drawingBufferHeight</code> attributes are now supported.</li> +</ul> + +<h3 id="MathML">MathML</h3> + +<ul> + <li>The non-standard <code>restyle</code> value for the <code>actiontype</code> attribute on <code><a href="/zh-TW/docs/Web/MathML/Element/maction" title="<maction>"><maction></a></code> elements has been removed.</li> + <li>While still unsupported, using the <code><a href="/zh-TW/docs/Web/MathML/Element/mlabeledtr" title="<mlabeledtr>"><mlabeledtr></a></code> element no longer breaks rendering completely. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=689641" title="Add support for mlabeledtr">bug 689641</a> for progress on actual support of this element.</li> +</ul> + +<h3 id="Networking">Networking</h3> + +<ul> + <li>You can now send the contents of <a href="/en-US/docs/JavaScript_typed_arrays" title="JavaScript typed arrays">JavaScript typed arrays</a> (that is, the contents of an <a href="/en-US/docs/JavaScript_typed_arrays/ArrayBuffer" title="ArrayBuffer"><code>ArrayBuffer</code></a> object) <a href="/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Sending_typed_arrays_as_binary_data" title="en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest#Sending_typed_arrays_as_binary_data">using XMLHttpRequest</a>.</li> + <li>WebSocket connections now permit non-characters in otherwise valid UTF-8 data frames to be received, instead of failing.</li> + <li>The HTTP <code>Accept</code> header for XSLT requests has been changed to simply "*/*" for simplicity. Since fetching XSLT has always fallen back to "*/*" anyway, it made sense to simplify the initial request.</li> + <li>Attempts by a server to use the <code>301 Moved Permanently</code> or <code>307 Temporary Redirect</code> response codes to redirect the user to a <code>javascript:</code> URI now <a href="/en-US/docs/HTTP#More_on_redirection_responses" title="en-US/docs/HTTP#More_on_redirection_responses">result in a "bad connection" error</a> instead of actually redirecting. This prevents certain types of cross-site scripting attacks.</li> + <li>Content served with an empty <a href="/zh-TW/docs/Web/HTTP/Headers/Content-Disposition" title="The documentation about this has not yet been written; please consider contributing!"><code>Content-Disposition</code></a> were previously treated as if the <a href="/zh-TW/docs/Web/HTTP/Headers/Content-Disposition" title="The documentation about this has not yet been written; please consider contributing!"><code>Content-Disposition</code></a> were "attachment"; this didn't always work as expected. These are now handled as if the <a href="/zh-TW/docs/Web/HTTP/Headers/Content-Disposition" title="The documentation about this has not yet been written; please consider contributing!"><code>Content-Disposition</code></a> were "inline".</li> + <li>The default maximum size of an item in the disk cache has been increased to 50 MB; previously, only items up to 5 MB were cached.</li> +</ul> + +<h3 id="Developer_tools">Developer tools</h3> + +<ul> + <li>The web console now supports basic <a href="/en-US/docs/Using_the_Web_Console#String_substitutions" title="en-US/docs/Using_the_Web_Console#String_substitutions">string substitutions</a> in its logging methods.</li> + <li>You can now <a href="/en-US/docs/Using_the_Web_Console#Using_groups_in_the_console" title="en-US/docs/Using_the_Web_Console#Using_groups_in_the_console">create visually nested blocks of output</a> in the web console, to help make it easier to read.</li> +</ul> + +<h2 id="Changes_for_Mozilla_and_add-on_developers">Changes for Mozilla and add-on developers</h2> + +<p>See <a href="/en-US/docs/Firefox/Updating_add-ons_for_Firefox_9" title="en-US/docs/Firefox/Updating add-ons for Firefox 9">Updating add-ons for Firefox 9</a> for an overview of the changes you may need to make to get your add-ons working in Firefox 9.</p> + +<h3 id="XUL">XUL</h3> + +<ul> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> element now has a <code id="a-pending"><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Attribute/pending">pending</a></code> attribute, whose value is <code>true</code>, when the tab is in the process of being restored by the session store service. This can be used for styling the tab in themes. The attribute isn't present on tabs that aren't pending.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code> element now has an <code id="a-unread"><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Attribute/unread">unread</a></code> attribute, whose value is <code>true</code>, when the tab has changed since the last time it was the active tab or if it hasn't been selected since the current session began. The attribute isn't present on tabs that are not unread.</li> + <li>You can now use a <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/panel" title="panel">panel</a></code> as a drag image for DOM drag and drop operations. This lets you use the standard drag & drop API for <a href="/en-US/docs/DragDrop/Drag_Operations#Using_XUL_panels_as_drag_images" title="en-US/docs/DragDrop/Drag_Operations#Using_XUL_panels_as_drag_images">drag and drop of XUL content</a>.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XUL/notificationbox" title="notificationbox">notificationbox</a></code> element's <span id="m-appendNotification"><code><a href="https://developer.mozilla.org/zh-TW/docs/Mozilla/Tech/XUL/Method/appendNotification">appendNotification</a></code></span> method now lets you specify a callback that gets called for interesting events related to the notification box. Currently, the only event is "removed", which tells you the box has been removed from its window.</li> +</ul> + +<h3 id="JavaScript_code_module_changes">JavaScript code module changes</h3> + +<ul> + <li><a href="/en-US/docs/JavaScript_code_modules/FileUtils.jsm" title="FileUtils.jsm"><code>FileUtils.jsm</code></a> now has a <code>File</code> constructor that returns an <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> object representing a file specified by its pathname.</li> +</ul> + +<h3 id="Service_changes">Service changes</h3> + +<ul> + <li>The content preference service now <a href="/en-US/docs/Using_content_preferences#private-browsing" title="en-US/docs/Using_content_preferences#private-browsing">handles private mode browsing</a> (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=679784" title="FIXED: nsIContentPrefService should handle private browsing mode">bug 679784</a>).</li> +</ul> + +<h3 id="NSPR">NSPR</h3> + +<ul> + <li>NSPR now has an "append" module, which lets you append new data to the end of an existing log.</li> +</ul> + +<h3 id="Interface_changes">Interface changes</h3> + +<h4 id="Removed_interfaces">Removed interfaces</h4> + +<ul> + <li><code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIGlobalHistory3" title="">nsIGlobalHistory3</a></code> has been removed during streamlining of the Places and DocShell code.</li> +</ul> + +<h4 id="Miscellaneous_interface_changes">Miscellaneous interface changes</h4> + +<ul> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISound" title="">nsISound</a></code> interface has a new constant, <code>EVENT_EDITOR_MAX_LEN</code>. The allows for playing the system sound for when more characters than the maximum allowed are typed into a text field. Currently, this is only used on Windows.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIScriptError2" title="">nsIScriptError2</a></code> interface has new <code>timeStamp</code> and <code>innerWindowID</code> properties; in addition, the <code>initWithWindowID()</code> method now takes an inner window ID instead of an outer window ID.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIBidiKeyboard#haveBidiKeyboards">nsIBidiKeyboard.haveBidiKeyboards</a></code> attribute has been added; this lets you determine if the system has at least one keyboard installed for each direction: left-to-right and right-to-left.</li> + <li>The new <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIEditor#isSelectionEditable">nsIEditor.isSelectionEditable</a></code> attribute lets you determine if the current selection anchor is editable. This helps to support cases where only parts of the document are editable, by letting you see if the current selection is in an editable section.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIBrowserHistory#registerOpenPage()">nsIBrowserHistory.registerOpenPage()</a></code> and <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIBrowserHistory#unregisterOpenPage()">nsIBrowserHistory.unregisterOpenPage()</a></code> methods have been removed as part of a performance overhaul in the Places system. You can use the corresponding methods in <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIPlacesAutoComplete" title="">mozIPlacesAutoComplete</a></code> instead.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIDOMWindowUtils#wrapDOMFile()">nsIDOMWindowUtils.wrapDOMFile()</a></code> method has been added; this returns a DOM <a href="/zh-TW/docs/Web/API/File" title="File 介面提供了檔案的資訊並且允許網頁中的 JavaScript 存取檔案的內容。"><code>File</code></a> object for a given <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code>.</li> + <li>The <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIChromeFrameMessageManager#removeDelayedFrameScript()">nsIChromeFrameMessageManager.removeDelayedFrameScript()</a></code> method was added to support removing delayed load scripts. Bootstrapped add-ons should use this, at shutdown, to remove any scripts it loaded using <code><a href="https://developer.mozilla.org/zh-TW/docs/XPCOM_Interface_Reference/nsIChromeFrameMessageManager#loadFrameScript()">nsIChromeFrameMessageManager.loadFrameScript()</a></code> with the delayed load flag set. This is exposed to add-ons as <code>browser.messageManager.removeDelayedFrameScript()</code>.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAppStartup" title="">nsIAppStartup</a></code> interface has a new <code>interrupted</code> attribute, which lets you know if the startup process was interrupted at any point by an interactive prompt. This can be helpful, for example, when timing startups during performance evaluation, to be able to drop numbers from sessions that were interrupted.</li> + <li>The <code><a href="/zh-TW/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIEditorSpellCheck" title="">nsIEditorSpellCheck</a></code> interface has been revised to support per-site selection of spell checker dictionaries.</li> +</ul> + +<h3 id="IDL_parser">IDL parser</h3> + +<p>The IDL parser no longer includes support for the never fully-implemented notion of unique pointers.</p> + +<h3 id="Build_system_changes">Build system changes</h3> + +<ul> + <li>The <code>--enable-application=standalone</code> option for building standalone XPConnect has been removed; it hasn't worked since 2007 anyway.</li> + <li>Support for building Necko and Transformiix XSLT standalone has been removed; you can no longer use <code>--enable-application=network</code> or <code>--enable-application=content/xslt</code>.</li> + <li>The build system now looks for <code>.mozconfig</code> at <code>$topsrcdir/.mozconfig</code> or <code>$topsrcdir/mozconfig</code>, and nowhere else, unless you override the <code>.mozconfig</code> path using the <code>MOZCONFIG</code> environment variable.</li> + <li>The <code>xpidl</code> utility has been replaced in the SDK with <a href="/en-US/docs/XPIDL/pyxpidl" title="pyxpidl">pyxpidl</a>.</li> +</ul> + +<h3 id="Other_changes">Other changes</h3> + +<ul> + <li>The spell checker no longer has an arbitrary 130-character word-length limit on the length of words it will attempt to spell check. This limit was previously in place to prevent crashes that were occurring in the spell checker, but the underlying bugs have since been fixed.</li> + <li>You can now register components to add features to the <a href="/zh-TW/docs/Web/API/Window/navigator" title="The Window.navigator read-only property returns a reference to the Navigator object, which can be queried for information about the application running the script."><code>window.navigator</code></a> object by using the "JavaScript-navigator-property" category. See <a href="/en-US/docs/Developer_Guide/Adding_APIs_to_the_navigator_object" title="en-US/docs/Developer_Guide/Adding APIs to the navigator object">Adding APIs to the navigator object</a> for details and examples.</li> +</ul> + +<h2 id="See_also">See also</h2> + +<div><div class="multiColumnList"> +<ul> +<li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/8">Firefox 8 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/7">Firefox 7 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/6">Firefox 6 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/5">Firefox 5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/4">Firefox 4 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.6">Firefox 3.6 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/3">Firefox 3 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/2">Firefox 2 for developers</a></li><li><a href="/zh-TW/docs/Mozilla/Firefox/Releases/1.5">Firefox 1.5 for developers</a></li></ul> +</div></div> diff --git a/files/zh-tw/mozilla/firefox/releases/index.html b/files/zh-tw/mozilla/firefox/releases/index.html new file mode 100644 index 0000000000..6ef85761f2 --- /dev/null +++ b/files/zh-tw/mozilla/firefox/releases/index.html @@ -0,0 +1,12 @@ +--- +title: Firefox 各版本技術文件 +slug: Mozilla/Firefox/Releases +tags: + - Firefox + - NeedsTranslation + - TopicStub +translation_of: Mozilla/Firefox/Releases +--- +<div>{{FirefoxSidebar}}</div><p>這個頁面整合了 Firefox 每次釋出時的技術文件。這些文件讓您能夠清楚知道各個 Firefox 版本釋出時新增了哪些新功能及修正了哪些錯誤。</p> +<div class="multiColumnList"> + {{ListSubpages("",1,0,1)}}</div> |