diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
commit | a065e04d529da1d847b5062a12c46d916408bf32 (patch) | |
tree | fe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/zh-cn/web/guide | |
parent | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff) | |
download | translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2 translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip |
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/zh-cn/web/guide')
-rw-r--r-- | files/zh-cn/web/guide/api/camera/index.html | 219 | ||||
-rw-r--r-- | files/zh-cn/web/guide/css/getting_started/xml_data/index.html | 241 |
2 files changed, 0 insertions, 460 deletions
diff --git a/files/zh-cn/web/guide/api/camera/index.html b/files/zh-cn/web/guide/api/camera/index.html deleted file mode 100644 index 64fe08d634..0000000000 --- a/files/zh-cn/web/guide/api/camera/index.html +++ /dev/null @@ -1,219 +0,0 @@ ---- -title: 使用Camera API -slug: Web/Guide/API/Camera -translation_of: Archive/B2G_OS/API/Camera_API/Introduction ---- -<p>通过<a class="link-https" href="https://wiki.mozilla.org/Platform/Features/Camera_API">Camera API</a>,你可以使用手机的摄像头拍照,然后把拍到的照片发送给当前网页.这些操作主要是通过一个<code>input元素</code>来实现的,其中该元素的<code>type属性必须为"file",</code><code>accept属性要允许图片格式,</code>这样才能知道这个文件选择框是用来选择图片的.,完整的HTML结构看起来是这样的:</p> -<pre class="brush: html"><input type="file" id="take-picture" accept="image/*"> -</pre> -<p>当用户激活这个HTML元素的时候,系统会呈现给用户一个选择界面,其中一个选项是选择本地的图片文件,另一个选项是要通过摄像头直接 拍摄照片作为所选文件.如果用户选择了摄像头,则会进入手机的拍照模式.拍照结束后,,用户可以选择确定还是放弃.如果接受了,则该照片会作为所选文件发 送给那个<code><input type="file"></code>元素,同时触发该元素的<code>onchange事件</code>.</p> -<h2 id="获取到所拍摄照片的引用">获取到所拍摄照片的引用</h2> -<p>通过<a href="/en/Using_files_from_web_applications" title="en/Using_files_from_web_applications">File API</a>,你可以获取到用户所拍摄的照片或者所选择的图片文件的引用:</p> -<pre class="brush: js">var takePicture = document.querySelector("#take-picture"); -takePicture.onchange = function (event) { - // 获得图片文件的引用 - var files = event.target.files, - file; - if (files && files.length > 0) { - file = files[0]; - } -}; -</pre> -<h2 id="在网页中展示图片">在网页中展示图片</h2> -<p>如果你获取到了那张照片的引用(也就是File对象),你就可以使用{{ domxref("window.URL.createObjectURL()") }}方法创建一个指向那个照片的URL,然后把得到的URL赋给<code>img</code>元素的<code>src属性</code>:</p> -<pre class="brush: js">// 获取到img元素 -var showPicture = document.querySelector("#show-picture"); - -// 获取到window.URL对象 -var URL = window.URL || window.webkitURL; - -// 创建一个对象URL字符串 -var imgURL = URL.createObjectURL(file); - -// 设置img元素的src属性为那个URL -showPicture.src = imgURL; - -// 释放那个对象URL,提高性能 -URL.revokeObjectURL(imgURL); -</pre> -<p>如果浏览器不支持<code>createObjectURL()</code>方法,还可以使用{{ domxref("FileReader") }}来实现:</p> -<pre class="brush: js">// 如果createObjectURL方法不可用 -var fileReader = new FileReader(); -fileReader.onload = function (event) { - showPicture.src = event.target.result; -}; -fileReader.readAsDataURL(file); -</pre> -<h2 id="完整的示例代码">完整的示例代码</h2> -<p>这里有一个<a class="external" href="http://robnyman.github.com/camera-api/">完整的使用Camera API的demo</a>,下面是这个demo的完整代码:</p> -<h3 id="HTML页面">HTML页面:</h3> -<pre class="brush: html"><!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"> - <title>Camera API</title> - <link rel="stylesheet" href="css/base.css" type="text/css" media="screen"> - </head> - - <body> - - <div class="container"> - <h1>Camera API</h1> - - <section class="main-content"> - <p>A demo of the Camera API, currently implemented in Firefox and Google Chrome on Android. Choose to take a picture with your device's camera and a preview will be shown through createObjectURL or a FileReader object (choosing local files supported too).</p> - - <p> - <input type="file" id="take-picture" accept="image/*"> - </p> - - <h2>Preview:</h2> - <p> - <img src="about:blank" alt="" id="show-picture"> - </p> - - <p id="error"></p> - - </section> - - <p class="footer">All the code is available in the <a href="https://github.com/robnyman/robnyman.github.com/tree/master/camera-api">Camera API repository on GitHub</a>.</p> - </div> - - - <script src="js/base.js"></script> - - - </body> -</html> -</pre> -<h3 id="JavaScript文件">JavaScript文件:</h3> -<pre class="brush: js">(function () { - var takePicture = document.querySelector("#take-picture"), - showPicture = document.querySelector("#show-picture"); - - if (takePicture && showPicture) { - // Set events - takePicture.onchange = function (event) { - // Get a reference to the taken picture or chosen file - var files = event.target.files, - file; - if (files && files.length > 0) { - file = files[0]; - try { - // Get window.URL object - var URL = window.URL || window.webkitURL; - - // Create ObjectURL - var imgURL = URL.createObjectURL(file); - - // Set img src to ObjectURL - showPicture.src = imgURL; - - // Revoke ObjectURL - URL.revokeObjectURL(imgURL); - } - catch (e) { - try { - // Fallback if createObjectURL is not supported - var fileReader = new FileReader(); - fileReader.onload = function (event) { - showPicture.src = event.target.result; - }; - fileReader.readAsDataURL(file); - } - catch (e) { - // - var error = document.querySelector("#error"); - if (error) { - error.innerHTML = "Neither createObjectURL or FileReader are supported"; - } - } - } - } - }; - } -})(); -</pre> -<h2 id="浏览器兼容性">浏览器兼容性</h2> -<p>{{ CompatibilityTable() }}</p> -<div id="compat-desktop"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Camera API</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - <tr> - <td><code><a href="/en-US/docs/DOM/window.URL.createObjectURL" title="/en-US/docs/DOM/window.URL.createObjectURL">createObjectURL()</a></code></td> - <td>16</td> - <td>{{CompatGeckoDesktop("8.0")}}</td> - <td>10+</td> - <td>{{CompatNo()}}</td> - <td>{{CompatNo()}}</td> - </tr> - <tr> - <td>{{domxref("FileReader")}}</td> - <td>16</td> - <td>{{CompatGeckoDesktop("1.9.2")}}</td> - <td>10+</td> - <td>11.6+</td> - <td>{{CompatNo()}}</td> - </tr> - </tbody> - </table> -</div> -<div id="compat-mobile"> - <table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Camera API</td> - <td>3.0</td> - <td>{{ CompatVersionUnknown() }}</td> - <td>{{ CompatGeckoMobile("10.0") }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - <td>{{ CompatNo() }}</td> - </tr> - <tr> - <td><code><a href="/en-US/docs/DOM/window.URL.createObjectURL" title="/en-US/docs/DOM/window.URL.createObjectURL">createObjectURL()</a></code></td> - <td>4</td> - <td>{{CompatVersionUnknown()}}</td> - <td>{{CompatGeckoMobile("10.0")}}</td> - <td>{{CompatNo()}}</td> - <td>{{CompatNo()}}</td> - <td>{{CompatNo()}}</td> - </tr> - <tr> - <td>{{domxref("FileReader")}}</td> - <td>3</td> - <td>{{CompatVersionUnknown()}}</td> - <td>{{CompatGeckoMobile("10.0")}}</td> - <td>{{CompatNo()}}</td> - <td>11.1</td> - <td>{{CompatNo()}}</td> - </tr> - </tbody> - </table> -</div> -<p> </p> diff --git a/files/zh-cn/web/guide/css/getting_started/xml_data/index.html b/files/zh-cn/web/guide/css/getting_started/xml_data/index.html deleted file mode 100644 index bbdbd784f5..0000000000 --- a/files/zh-cn/web/guide/css/getting_started/xml_data/index.html +++ /dev/null @@ -1,241 +0,0 @@ ---- -title: XML 数据 -slug: Web/Guide/CSS/Getting_started/XML_data -tags: - - CSS - - Web - - 中级 - - 实例 - - 开始学CSS - - 指南 - - 需要更新 -translation_of: Archive/Beginner_tutorials/XML_data ---- -<p>{{ CSSTutorialTOC() }}</p> - -<p>此页面包含一个如何使用CSS和XML数据的示例。</p> - -<p>你将创建一个XML文档范例,和使之在浏览器中展现的样式表。</p> - -<p>这是 <a href="../../../../en/CSS/Getting_Started" rel="internal">CSS tutorial</a> 第二部分的第三节。<br> - 前一章节: <a href="/en-US/docs/Web/Guide/CSS/Getting_Started/SVG_and_CSS" title="https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/SVG_and_CSS">SVG</a><br> - 后一章节: <a href="/en/CSS/Getting_Started/XBL_bindings" title="https://developer.mozilla.org/en/CSS/Getting_Started/XBL_bindings">XBL binding</a></p> - -<h3 id="Information:_XML_data" name="Information:_XML_data">信息: XML 数据</h3> - -<p><em><a href="/en/XML" title="en/XML">XML</a></em> (eXtensible Markup Language 可扩展标记语言) 是一种可用于任何类型的结构化数据的通用型语言。</p> - -<p>默认情况下,Mozilla 浏览器会将 XML 按照非常类似XML文件的原始数据的方式展现。你可以看到定义数据结构的具体的标签。</p> - -<p>通过将你的XML文档与CSS样式表链接,你可以定义展现XML的其他方式。为了实现这一点,样式表建立了映射规则,将XML文档中的标签映射为HTML中使用的展现类型。</p> - -<table style="background-color: #fffff4; border: 1px solid #36b; margin-bottom: 1em; padding: 1em;"> - <caption>示例</caption> - <tbody> - <tr> - <td>XML文档中的数据采用<<code>INFO></code> 标签。你希望文档中的 <small>INFO</small> 元素像 HTML 的段落一样展现。. - <p>在该文档的样式表中,你指定了 <small>INFO</small> 元素的展现方式:</p> - - <div style="width: 30em;"> - <pre class="eval"> -INFO { - display: block; - margin: 1em 0; - } -</pre> - </div> - </td> - </tr> - </tbody> -</table> - -<p>在display属性中最常用的值是:</p> - -<table style="margin-left: 2em;"> - <tbody> - <tr> - <td style="padding-right: 2em;"><code>block</code></td> - <td>Displayed like HTML's <small>DIV</small> (for headings, paragraphs)</td> - </tr> - <tr> - <td><code>inline</code></td> - <td>Displayed like HTML's <small>SPAN</small> (for emphasis within text)</td> - </tr> - </tbody> -</table> - -<p>如同对待HTML一样,通过设置字体、间距和其他细节来添加你自己的样式规则。</p> - -<table style="background-color: #f4f4f4; border: 1px solid #36b; margin-bottom: 1em; padding: 1em;"> - <caption>更多细节</caption> - <tbody> - <tr> - <td>其他display的值可以展现类似于列表项目的元素,或者类似表格组件的元素。 - <p>请查看CSS规范中的<a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-display">The display property</a> ,来获取全部display类型。</p> - - <p>单独使用CSS,display的结构必须与文档结构一致。其它方式是修改display的结构—例如:使用XBL添加内容,使用JavaScript修改DOM。</p> - - <p>请查看 <a href="/en/XML" title="en/XML">XML</a> 页面,来获取更多关于XML in Mozilla的信息。</p> - </td> - </tr> - </tbody> -</table> - -<h3 id="Action:_An_XML_demonstration" name="Action:_An_XML_demonstration">实例: XML 演示</h3> - -<p>新建一个 XML 文件: <code>doc9.xml </code>。复制粘帖以下内容,注意滚动以获得全部:</p> - -<div style="width: 48em; height: 12em; overflow: auto;"> -<pre><?xml version="1.0"?> -<!-- XML demonstration --> - -<?xml-stylesheet type="text/css" href="style9.css"?> - -<!DOCTYPE planet> -<planet> - -<ocean> -<name>Arctic</name> -<area>13,000</area> -<depth>1,200</depth> -</ocean> - -<ocean> -<name>Atlantic</name> -<area>87,000</area> -<depth>3,900</depth> -</ocean> - -<ocean> -<name>Pacific</name> -<area>180,000</area> -<depth>4,000</depth> -</ocean> - -<ocean> -<name>Indian</name> -<area>75,000</area> -<depth>3,900</depth> -</ocean> - -<ocean> -<name>Southern</name> -<area>20,000</area> -<depth>4,500</depth> -</ocean> - -</planet> -</pre> -</div> - -<p>新建一个 CSS 文件: <code>style9.css 。</code>复制粘帖以下内容,注意滚动以获得全部:</p> - -<div style="width: 48em; height: 12em; overflow: auto;"> -<pre>/*** XML demonstration ***/ - -planet:before { - display: block; - width: 8em; - font-weight: bold; - font-size: 200%; - content: "Oceans"; - margin: -.75em 0px .25em -.25em; - padding: .1em .25em; - background-color: #cdf; - } - -planet { - display: block; - margin: 2em 1em; - border: 4px solid #cdf; - padding: 0px 1em; - background-color: white; - } - -ocean { - display: block; - margin-bottom: 1em; - } - -name { - display: block; - font-weight: bold; - font-size: 150%; - } - -area { - display: block; - } - -area:before { - content: "Area: "; - } - -area:after { - content: " million km\B2"; - } - -depth { - display: block; - } - -depth:before { - content: "Mean depth: "; - } - -depth:after { - content: " m"; - } -</pre> -</div> - -<p>在你的浏览器中打开该文档:</p> - -<table style="border: 2px outset #36b; padding: 1em;"> - <tbody> - <tr> - <td> - <div style="border: 2px solid #cdf; border-bottom: none; padding: .5em 8em 1em .5em;"> - <p style="font-size: 150%; font-weight: bold; margin: -1em 0px 0px 0px; padding: .1em .25em; background-color: #cdf; width: 8em;">Oceans</p> - - <p style="font-size: 75%; margin: .25em 0px 0px 0px; line-height: 110%;"><strong>Arctic</strong><br> - Area: 13,000 million km²<br> - Mean depth: 1,200 m</p> - - <p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><strong>Atlantic</strong><br> - Area: 87,000 million km²<br> - Mean depth: 3,900 m</p> - - <p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><strong>. . .</strong></p> - </div> - </td> - </tr> - </tbody> -</table> - -<p><br> - 此演示的注解:</p> - -<ul> - <li>Unicode 字符 上标 2(在 "million km²" 中),在CSS文件中被编码为 <code>\B2</code> 。</li> - <li>标题 "Oceans" 有一个负的上边距,所以它可以上移至边框顶部显示。</li> -</ul> - -<p> </p> - -<table style="background-color: #fffff4; border: 1px solid #36b; margin-bottom: 1em; padding: 1em;"> - <caption>挑战</caption> - <tbody> - <tr> - <td>修改样式表使文档可以作为表格展现。 - <p>(请参见 CSS 规范的 <a class="external" href="http://www.w3.org/TR/CSS21/tables.html">Tables</a> 章节作为参考。)</p> - </td> - </tr> - </tbody> -</table> - -<h4 id="What_next.3F" name="What_next.3F">接下来?</h4> - -<p>如果你难以理解此页面,或者你有其他意见,请提交到讨论页: <a href="/Talk:en/CSS/Getting_Started/XML_data" title="Talk:en/CSS/Getting_Started/XML_data">Discussion</a> 。</p> - -<p>这是本教程的最后一页。请查看此 wiki 的 <a href="/en/CSS" title="en/CSS">CSS</a> 主页,获取更多Mozilla CSS 信息。</p> |