Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoCorrect files/zh-cn/web/api/p*/ #5908

Merged
merged 2 commits into from
Jun 3, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions files/zh-cn/web/api/page_visibility_api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
---
<p>{{DefaultAPISidebar("Page Visibility API")}}</p>

<p>使用选项卡式浏览,任何给定网页都有可能在后台,因此对用户不可见。页面可见性 API提供了您可以观察的事件,以便了解文档何时可见或隐藏,以及查看页面当前可见性状态的功能。</p>
<p>使用选项卡式浏览,任何给定网页都有可能在后台,因此对用户不可见。页面可见性 API 提供了您可以观察的事件,以便了解文档何时可见或隐藏,以及查看页面当前可见性状态的功能。</p>

<div class="note">
<p><strong>注意:</strong>页面可见性 API对于节省资源和提高性能特别有用,它使页面在文档不可见时避免执行不必要的任务。</p>
<p><strong>注意:</strong>页面可见性 API 对于节省资源和提高性能特别有用,它使页面在文档不可见时避免执行不必要的任务。</p>
</div>

<p>当用户最小化窗口或切换到另一个选项卡时,API会发送{{event("visibilitychange")}}事件,让监听者知道页面状态已更改。你可以检测事件并执行某些操作或行为不同。例如,如果您的网络应用正在播放视频,则可以在用户将标签放入背景时暂停视频,并在用户返回标签时恢复播放。 用户不会在视频中丢失位置,视频的音轨不会干扰新前景选项卡中的音频,并且用户在此期间不会错过任何视频。</p>
<p>当用户最小化窗口或切换到另一个选项卡时,API 会发送{{event("visibilitychange")}}事件,让监听者知道页面状态已更改。你可以检测事件并执行某些操作或行为不同。例如,如果您的网络应用正在播放视频,则可以在用户将标签放入背景时暂停视频,并在用户返回标签时恢复播放。 用户不会在视频中丢失位置,视频的音轨不会干扰新前景选项卡中的音频,并且用户在此期间不会错过任何视频。</p>

<p>{{HTMLElement("iframe")}}的可见性状态与父文档相同。使用CSS属性(例如{{cssxref("display", "display: none;")}})隐藏<code>&lt;iframe&gt;</code>不会触发可见性事件或更改框架中包含的文档的状态。</p>
<p>{{HTMLElement("iframe")}}的可见性状态与父文档相同。使用 CSS 属性(例如{{cssxref("display", "display: none;")}})隐藏<code>&lt;iframe&gt;</code>不会触发可见性事件或更改框架中包含的文档的状态。</p>

<h3 id="使用情景">使用情景</h3>

Expand All @@ -38,7 +38,7 @@ <h3 id="使用情景">使用情景</h3>

<h3 id="制定有助于后台页面性能的策略">制定有助于后台页面性能的策略</h3>

<p>在页面可见性API之外,用户代理会采取许多策略来减轻背景或隐藏选项卡对性能的影响。这些可能包括:</p>
<p>在页面可见性 API 之外,用户代理会采取许多策略来减轻背景或隐藏选项卡对性能的影响。这些可能包括:</p>

<ul>
<li>大多数浏览器不会调用被隐藏的标签页或{{ HTMLElement("iframe") }}框架当中{{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}}定义的回调函数,这会提升性能并且延长电池的使用寿命。</li>
Expand Down Expand Up @@ -93,20 +93,20 @@ <h2 id="示例">示例</h2>
}
}

// 如果浏览器不支持addEventListener 或 Page Visibility API 给出警告
// 如果浏览器不支持 addEventListener 或 Page Visibility API 给出警告
if (typeof document.addEventListener === "undefined" || typeof document[hidden] === "undefined") {
console.log("This demo requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API.");
} else {
// 处理页面可见属性的改变
document.addEventListener(visibilityChange, handleVisibilityChange, false);

// 当视频暂停,设置title
// 当视频暂停,设置 title
// This shows the paused
videoElement.addEventListener("pause", function(){
document.title = 'Paused';
}, false);

// 当视频播放,设置title
// 当视频播放,设置 title
videoElement.addEventListener("play", function(){
document.title = 'Playing';
}, false);
Expand All @@ -118,13 +118,13 @@ <h2 id="属性">属性</h2>

<dl>
<dt>{{domxref("Document.hidden")}} {{ReadOnlyInline}}</dt>
<dd>如果页面处于被认为是对用户隐藏状态时返回true,否则返回false。</dd>
<dd>如果页面处于被认为是对用户隐藏状态时返回 true,否则返回 false。</dd>
<dt>{{domxref("Document.visibilityState")}} {{ReadOnlyInline}}</dt>
<dd>是一个用来展示文档当前的可见性的{{domxref("DOMString")}} 。该属性的值为以下值之一:
<ul>
<li><code>visible</code> : 页面内容至少是部分可见。 在实际中,这意味着页面是非最小化窗口的前景选项卡。</li>
<li><code>hidden</code> : 页面内容对用户不可见。 在实际中,这意味着文档可以是一个后台标签,或是最小化窗口的一部分,或是在操作系统锁屏激活的状态下。</li>
<li><code>prerender</code> : 页面内容正在被预渲染且对用户是不可见的(被document.hidden当做隐藏). 文档可能初始状态为prerender,但绝不会从其它值转为该值。&gt;</li>
<li><code>prerender</code> : 页面内容正在被预渲染且对用户是不可见的 (被 document.hidden 当做隐藏). 文档可能初始状态为 prerender,但绝不会从其它值转为该值。&gt;</li>
<li>注释:有的浏览器不支持此功能<code>unloaded</code> : 页面正在从内存中卸载。</li>
<li>注释:有的浏览器不支持此功能</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/path2d/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <h2 id="方法">方法</h2>
<dt>{{domxref("CanvasRenderingContext2D.closePath", "Path2D.closePath()")}}</dt>
<dd>使笔点返回到当前子路径的起始点。它尝试从当前点到起始点绘制一条直线。 如果图形已经是封闭的或者只有一个点,那么此函数不会做任何操作。</dd>
<dt>{{domxref("CanvasRenderingContext2D.moveTo()", "Path2D.moveTo()")}}</dt>
<dd>将一个新的子路径的起始点移动到(x,y)坐标。</dd>
<dd>将一个新的子路径的起始点移动到 (x,y) 坐标。</dd>
<dt>{{domxref("CanvasRenderingContext2D.lineTo()", "Path2D.lineTo()")}}</dt>
<dd>使用直线连接子路径的终点到 <code style="font-style: normal;">x, y</code>  坐标。</dd>
<dt>{{domxref("CanvasRenderingContext2D.bezierCurveTo()", "Path2D.bezierCurveTo()")}}</dt>
Expand Down
2 changes: 1 addition & 1 deletion files/zh-cn/web/api/path2d/path2d/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ <h6 id="Playable_code">Playable code</h6>

<h3 id="使用_SVG_路径">使用 SVG 路径</h3>

<p>这是一段简单的代码片段,使用 <a href="/en-US/docs/Web/SVG/Tutorial/Paths" style="line-height: 1.5;">SVG path data</a> 创建一个 <code style="font-style: normal; line-height: 1.5;">Path2D</code> 路径。路径将会移动到点 (<code style="font-style: normal; line-height: 1.5;">M10 10</code>) ,然后向右侧水平移动80个点 (<code style="font-style: normal; line-height: 1.5;">h 80</code>),然后向下80个点 (<code style="font-style: normal; line-height: 1.5;">v 80</code>),然后向左80个点(<code style="font-style: normal; line-height: 1.5;">h -80</code>),最后回到起始点(<code style="font-style: normal; line-height: 1.5;">z</code>)。</p>
<p>这是一段简单的代码片段,使用 <a href="/en-US/docs/Web/SVG/Tutorial/Paths" style="line-height: 1.5;">SVG path data</a> 创建一个 <code style="font-style: normal; line-height: 1.5;">Path2D</code> 路径。路径将会移动到点 (<code style="font-style: normal; line-height: 1.5;">M10 10</code>) ,然后向右侧水平移动 80 个点 (<code style="font-style: normal; line-height: 1.5;">h 80</code>),然后向下 80 个点 (<code style="font-style: normal; line-height: 1.5;">v 80</code>),然后向左 80 个点 (<code style="font-style: normal; line-height: 1.5;">h -80</code>),最后回到起始点 (<code style="font-style: normal; line-height: 1.5;">z</code>)。</p>

<pre class="brush: js; highlight:[4]">var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
Expand Down
30 changes: 15 additions & 15 deletions files/zh-cn/web/api/payment_request_api/concepts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,23 @@
- 应用程序接口
- 指南
- 支付
- 支付请求API
- 支付请求 API
- 收款方
- 贸易
translation_of: Web/API/Payment_Request_API/Concepts
original_slug: Web/API/支付_请求_接口/Concepts
---
<p>{{securecontext_header}}{{DefaultAPISidebar("Payment Request API")}}</p>

<p><a href="zh-CN/docs/Web/API/%E6%94%AF%E4%BB%98_%E8%AF%B7%E6%B1%82_%E6%8E%A5%E5%8F%A3">交易请求API</a>使在网站或应用上进行的交易变得更便捷。在这篇文档中,我们将了解此接口如何运作,以及各个组件的功能。</p>
<p><a href="zh-CN/docs/Web/API/%E6%94%AF%E4%BB%98_%E8%AF%B7%E6%B1%82_%E6%8E%A5%E5%8F%A3">交易请求 API</a>使在网站或应用上进行的交易变得更便捷。在这篇文档中,我们将了解此接口如何运作,以及各个组件的功能。</p>
yin1999 marked this conversation as resolved.
Show resolved Hide resolved

<h2 id="术语">术语</h2>

<p>在深入了解此API的工作方式前,你应该了解以下术语。</p>
<p>在深入了解此 API 的工作方式前,你应该了解以下术语。</p>

<dl>
<dt>收款方(或商家)</dt>
<dd>商家可以是个人,也可以是一个组织。商家扮演的角色是在自己的网站或应用上通过支付请求API收款。</dd>
<dd>商家可以是个人,也可以是一个组织。商家扮演的角色是在自己的网站或应用上通过支付请求 API 收款。</dd>
<dt>付款方</dt>
<dd>付款方可以是个人,也可以是一个组织。付款方扮演的角色是,在网站或应用上购买物品。支付流程要求付款方先自证身份,然后授权付款。</dd>
<dt>支付方式</dt>
Expand All @@ -42,31 +42,31 @@ <h2 id="术语">术语</h2>

<h2 id="支付方式识别码">支付方式识别码</h2>

<p>交易处理机是通过<strong>支付方式识别码</strong>识别的。交易方式识别码是一个指向唯一交易处理机的字符串,它可以是一套已成标准的识别码,也可以是一个URL。后者被交易处理服务同时用于两种用途:自证身份和处理交易。</p>
<p>交易处理机是通过<strong>支付方式识别码</strong>识别的。交易方式识别码是一个指向唯一交易处理机的字符串,它可以是一套已成标准的识别码,也可以是一个 URL。后者被交易处理服务同时用于两种用途:自证身份和处理交易。</p>

<h3 id="标准化的交易方式识别码">标准化的交易方式识别码</h3>

<p>目前注册在案的只有一套<a href="https://www.w3.org/TR/payment-method-id/#registry">标准化交易方式识别码</a>。(未来可能会添加更多。)</p>

<dl>
<dt><code>基本卡(basic-card, 输入一次银行卡信息后即可多次消费的支付方式)</code></dt>
<dt><code>基本卡(basic-card输入一次银行卡信息后即可多次消费的支付方式)</code></dt>
<dd>?根据基本卡规范进行交易处理。?详细说明请参见{{domxref("BasicCardRequest")}}。<em><strong>此处应该有对基本卡规范和使用方法进行说明的文档。</strong></em></dd>
</dl>

<h3 id="基于URL的交易方式识别码">基于URL的交易方式识别码</h3>
<h3 id="基于URL的交易方式识别码">基于 URL 的交易方式识别码</h3>

<p>这种识别方式的具体使用将会极大程度地依赖不同服务各自的规范。比如,某种服务可能使用多个URL链接,不同URL的使用依赖于API的版本和通信方式等。</p>
<p>这种识别方式的具体使用将会极大程度地依赖不同服务各自的规范。比如,某种服务可能使用多个 URL 链接,不同 URL 的使用依赖于 API 的版本和通信方式等。</p>

<dl>
<dt><code>https://apple.com/apple-pay</code></dt>
<dd>交易使用<a href="https://www.apple.com/apple-pay/">Apple Pay</a>服务。目前,只有Safari浏览器支持这种交易方式。</dd>
<dd>交易使用<a href="https://www.apple.com/apple-pay/">Apple Pay</a>服务。目前,只有 Safari 浏览器支持这种交易方式。</dd>
<dt><code>https://google.com/pay</code></dt>
<dd>交易使用<a href="https://pay.google.com/">Google Pay</a>. 目前,只有Chrome及Chrome内核的浏览器支持这种交易方式。</dd>
<dd>交易使用<a href="https://pay.google.com/">Google Pay</a>. 目前,只有 Chrome 及 Chrome 内核的浏览器支持这种交易方式。</dd>
</dl>

<h2 id="交易处理机的功能">交易处理机的功能</h2>

<p>{{Glossary("user agent")}}内部机制支持不同类型的交易。另外,你还可以调用<a href="https://w3c.github.io/payment-handler/">交易处理API</a>来支持更多相应的支付方式提供方(前提是你使用的浏览器支持这些API的使用)。不论使用哪种方式,交易处理机的功能都是如下几条:</p>
<p>{{Glossary("user agent")}}内部机制支持不同类型的交易。另外,你还可以调用<a href="https://w3c.github.io/payment-handler/">交易处理 API</a>来支持更多相应的支付方式提供方(前提是你使用的浏览器支持这些 API 的使用)。不论使用哪种方式,交易处理机的功能都是如下几条:</p>

<ol>
<li><strong>确保交易正确进行。</strong> 交易正确进行的条件取决于不同的支付类型和用户的支付请求;例如,如果用户选择了信用卡支付,而收款方并不支持这种方式,交易就无法正确进行。</li>
Expand All @@ -85,11 +85,11 @@ <h2 id="商家认证">商家认证</h2>
}
</pre>

<p>在这个例子中,由<code>fetchValidationData()</code>方法加载由<code>validationURL</code>提供的认证信息。要注意到的是,这个方法必须由商家服务器转发,因为通常情况下,客户端不会主动访问用于认证的URL。</p>
<p>在这个例子中,由<code>fetchValidationData()</code>方法加载由<code>validationURL</code>提供的认证信息。要注意到的是,这个方法必须由商家服务器转发,因为通常情况下,客户端不会主动访问用于认证的 URL。</p>

<p>然后,该数据(或用来解析该数据的{{jsxref("Promise")}})被传送给交易处理机的<code>complete()</code>方法。交易处理机可以用该数据获取更多信息或是进行更多重的算法解析,以认证商家对处理机的使用权。</p>

<p>因此,注意到如下事实很重要:{{Glossary("user agent")}}永远不会发送{{event("merchantvalidation")}}事件,除非用户代理自身装载了交易处理机。例如,Safari浏览器本身即支持Apple Pay,而Apple Pay的交易处理机可据此向客户端发送<code>merchantvalidation</code>、指示客户端获取服务器上的认证信息,并将其传送给交易处理机的<code>complete()</code>,来为商品进行支付。</p>
<p>因此,注意到如下事实很重要:{{Glossary("user agent")}}永远不会发送{{event("merchantvalidation")}}事件,除非用户代理自身装载了交易处理机。例如,Safari 浏览器本身即支持 Apple Pay,而 Apple Pay 的交易处理机可据此向客户端发送<code>merchantvalidation</code>、指示客户端获取服务器上的认证信息,并将其传送给交易处理机的<code>complete()</code>,来为商品进行支付。</p>

<h2 id="规范">规范</h2>

Expand All @@ -113,15 +113,15 @@ <h2 id="规范">规范</h2>
<tr>
<td>{{SpecName('Payment Method Identifiers')}}</td>
<td>{{Spec2('Payment Method Identifiers')}}</td>
<td>定义了支付方式识别码和认证方式,并在适用的情况下铸币或在W3C规范中进行登记。</td>
<td>定义了支付方式识别码和认证方式,并在适用的情况下铸币或在 W3C 规范中进行登记。</td>
</tr>
</tbody>
</table>

<h2 id="相关文档">相关文档</h2>

<ul>
<li><a href="/zh-CN/docs/Web/API/%E6%94%AF%E4%BB%98_%E8%AF%B7%E6%B1%82_%E6%8E%A5%E5%8F%A3">支付请求API</a></li>
<li><a href="/zh-CN/docs/Web/API/%E6%94%AF%E4%BB%98_%E8%AF%B7%E6%B1%82_%E6%8E%A5%E5%8F%A3">支付请求 API</a></li>
yin1999 marked this conversation as resolved.
Show resolved Hide resolved
<li><a href="/en-US/docs/Web/API/Payment_Request_API/Using_the_Payment_Request_API">Using the Payment Request API</a></li>
<li><a href="/en-US/docs/Web/API/Payment_Request_API/Concepts">Payment processing concepts</a></li>
<li><a href="https://webkit.org/blog/8182/introducing-the-payment-request-api-for-apple-pay/">Introducing the Payment Request API for Apple Pay</a></li>
Expand Down
Loading