diff --git a/files/zh-cn/web/api/eventtarget/addeventlistener/index.md b/files/zh-cn/web/api/eventtarget/addeventlistener/index.md index cdbf449ec5d616..cbe870802ca104 100644 --- a/files/zh-cn/web/api/eventtarget/addeventlistener/index.md +++ b/files/zh-cn/web/api/eventtarget/addeventlistener/index.md @@ -15,7 +15,8 @@ slug: Web/API/EventTarget/addEventListener `addEventListener()` 的工作原理是将实现 {{domxref("EventListener")}} 的函数或对象添加到调用它的 {{domxref("EventTarget")}} 上的指定事件类型的事件侦听器列表中。如果要绑定的函数或对象已经被添加到列表中,该函数或对象不会被再次添加。 -> **备注:** 如果先前向事件侦听器列表中添加过一个匿名函数,并且在之后的代码中调用 `addEventListener` 来添加一个功能完全相同的匿名函数,那么之后的这个匿名函数*也会*被添加到列表中。 +> [!NOTE] +> 如果先前向事件侦听器列表中添加过一个匿名函数,并且在之后的代码中调用 `addEventListener` 来添加一个功能完全相同的匿名函数,那么之后的这个匿名函数*也会*被添加到列表中。 > > 实际上,即使使用*完全相同*的代码来定义一个匿名函数,这两个函数仍然存在区别,**在循环中也是如此**。在使用该方法的情况下,匿名函数的重复定义会带来许多麻烦,详见下文中的[内存问题](#内存问题)一节。 @@ -52,7 +53,8 @@ addEventListener(type, listener, useCapture); - : 一个布尔值,表示在 DOM 树中注册了 `listener` 的元素,是否要先于它下面的 `EventTarget` 调用该 `listener`。当 useCapture(设为 true)时,沿着 DOM 树向上冒泡的事件不会触发 listener。当一个元素嵌套了另一个元素,并且两个元素都对同一事件注册了一个处理函数时,所发生的事件冒泡和事件捕获是两种不同的事件传播方式。事件传播模式决定了元素以哪个顺序接收事件。进一步的解释可以查看 [DOM Level 3 事件](https://www.w3.org/TR/DOM-Level-3-Events/#event-flow)及 [JavaScript 事件顺序](https://www.quirksmode.org/js/events_order.html#link4)文档。如果没有指定,`useCapture` 默认为 `false`。 - > **备注:** 对于事件目标上的事件监听器来说,事件会处于“目标阶段”,而不是冒泡阶段或者捕获阶段。捕获阶段的事件监听器会在任何非捕获阶段的事件监听器之前被调用。 + > [!NOTE] + > 对于事件目标上的事件监听器来说,事件会处于“目标阶段”,而不是冒泡阶段或者捕获阶段。捕获阶段的事件监听器会在任何非捕获阶段的事件监听器之前被调用。 - `wantsUntrusted` {{optional_inline}} {{Non-standard_inline}} - : 如果为 `true`,则事件处理程序会接收网页自定义的事件。此参数只适用于 Gecko({{glossary("chrome")}} 的默认值为 `false`,其他常规网页的默认值为 `true`),主要用于附加组件的代码和浏览器本身。 @@ -639,13 +641,15 @@ myButton.addEventListener("click", () => { console.log(someString); // 预期输出:'Data'(不可能是 'Data Again') ``` -> **备注:** 虽然内部作用域可以访问到外部 `const` 和 `let` 所声明的变量,但你在事件监听器内对变量所做的任何修改都不能在外部作用域内体现。为什么呢?因为在事件监听器被执行时,其外部作用域已经执行完毕了。 +> [!NOTE] +> 虽然内部作用域可以访问到外部 `const` 和 `let` 所声明的变量,但你在事件监听器内对变量所做的任何修改都不能在外部作用域内体现。为什么呢?因为在事件监听器被执行时,其外部作用域已经执行完毕了。 #### 使用对象进行数据交换 与 JavaScript 中的大部分函数不同,一个对象只要有被引用计数,它就会一直存在于内存之中。并且,对象可以拥有自己的属性,属性又可以被引用形式传递,使得它有潜力成为在作用域间传值的候选。让我们来试试。 -> **备注:** 实际上,在 JavaScript 中,函数也是对象的一种。(因此,函数也可以有自己的对象,甚至可以在其执行结束后依旧存在于内存中,只要将其分配到一个永久存在于内存中的变量即可。) +> [!NOTE] +> 实际上,在 JavaScript 中,函数也是对象的一种。(因此,函数也可以有自己的对象,甚至可以在其执行结束后依旧存在于内存中,只要将其分配到一个永久存在于内存中的变量即可。) 因为只需一个变量引用就可以使对象的属性将数据存储在内存之中,你可以使用它与事件监听器进行数据交换,并且更改后的数据会被保留。请看下面这个例子: @@ -669,9 +673,11 @@ setInterval(() => { 在这一例子中,虽然事件监听器和定时函数的作用域都在 `someObject.aProperty` 的值变更前执行完毕,但 `someObject` 仍被事件监听器和定时函数所*引用*而存在于内存中,这两个函数依然能访问到同样的数据(也就是说,当其中一方改变了数据,另一方可以对这一改变做出响应)。 -> **备注:** 对象的是以引用方式存储于变量中的,也即变量中存储的只是对象的内存地址而已。在其他方面上,这也意味着“存储”这个对象的变量可以对其他引用(或“存储”)同一个对象的变量产生影响。当两个变量引用同一对象时(比如 `let a = b = {aProperty: 'Yeah'};`),仅对其中一个变量进行更改仍然会影响到另一个变量。 +> [!NOTE] +> 对象的是以引用方式存储于变量中的,也即变量中存储的只是对象的内存地址而已。在其他方面上,这也意味着“存储”这个对象的变量可以对其他引用(或“存储”)同一个对象的变量产生影响。当两个变量引用同一对象时(比如 `let a = b = {aProperty: 'Yeah'};`),仅对其中一个变量进行更改仍然会影响到另一个变量。 -> **备注:** 基于对象存储于变量中的“引用”逻辑,你可以在一个函数执行完毕后返回一个对象以使其“保活”(使其保留在内存中且不丢失数据)。 +> [!NOTE] +> 基于对象存储于变量中的“引用”逻辑,你可以在一个函数执行完毕后返回一个对象以使其“保活”(使其保留在内存中且不丢失数据)。 ### 内存问题 @@ -737,7 +743,8 @@ window.addEventListener( 为了避免这一问题,大部分浏览器(Safari 和 Internet Explorer 除外)将文档级节点 {{domxref("Window")}}、{{domxref("Document")}} 和 {{domxref("Document.body")}} 上的 {{domxref("Element/wheel_event", "wheel")}}、{{domxref("Element/mousewheel_event", "mousewheel")}}、{{domxref("Element/touchstart_event", "touchstart")}} 和 {{domxref("Element/touchmove_event", "touchmove")}} 事件的 `passive` 默认值更改为 `true`。如此,事件监听器便不能[取消事件](/zh-CN/docs/Web/API/Event/preventDefault),也不会在用户滚动页面时阻止页面呈现。 -> **备注:** 若你想要了解哪些浏览器(或特定浏览器的哪一个版本)具体实现了上述功能,请参见下方的浏览器兼容性表。 +> [!NOTE] +> 若你想要了解哪些浏览器(或特定浏览器的哪一个版本)具体实现了上述功能,请参见下方的浏览器兼容性表。 因此,当你想要覆盖这一行为并确认 `passive` 在所有浏览器中都被设为 `false`,你必须显式地将其设为 `false`,而不是依赖浏览器的默认设置。 diff --git a/files/zh-cn/web/api/eventtarget/dispatchevent/index.md b/files/zh-cn/web/api/eventtarget/dispatchevent/index.md index db780d128584ee..92b07cf93317c6 100644 --- a/files/zh-cn/web/api/eventtarget/dispatchevent/index.md +++ b/files/zh-cn/web/api/eventtarget/dispatchevent/index.md @@ -9,7 +9,8 @@ slug: Web/API/EventTarget/dispatchEvent 调用 `dispatchEvent()` 是*触发一个事件*的最后一步。被触发的事件应事先通过 {{domxref("Event/Event", "Event()")}} 构造函数创建并初始化完毕。 -> **备注:** 在调用此方法时,{{domxref("Event.target")}} 属性默认为当前的 `EventTarget`。 +> [!NOTE] +> 在调用此方法时,{{domxref("Event.target")}} 属性默认为当前的 `EventTarget`。 和经由浏览器触发,并通过[事件循环](/zh-CN/docs/Web/JavaScript/Event_loop)异步调用事件处理程序的“原生”事件不同,`dispatchEvent()` 会*同步*调用事件处理函数。在 `dispatchEvent()` 返回之前,所有监听该事件的事件处理程序将在代码继续前执行并返回。 @@ -33,7 +34,8 @@ dispatchEvent(event) - `InvalidStateError` {{domxref("DomException")}} - : 若事件未在初始化时指定类型(`type` 属性值),则抛出此异常。 -> **警告:** 由事件处理程序抛出的异常视为未被捕获的异常。事件处理程序运行在一个嵌套的调用栈中;在其处理完毕前将阻塞 `caller`,但异常却不会冒泡至 `caller`。 +> [!WARNING] +> 由事件处理程序抛出的异常视为未被捕获的异常。事件处理程序运行在一个嵌套的调用栈中;在其处理完毕前将阻塞 `caller`,但异常却不会冒泡至 `caller`。 ## 示例 diff --git a/files/zh-cn/web/api/eventtarget/eventtarget/index.md b/files/zh-cn/web/api/eventtarget/eventtarget/index.md index be98d03444a7ba..3e8883d173219c 100644 --- a/files/zh-cn/web/api/eventtarget/eventtarget/index.md +++ b/files/zh-cn/web/api/eventtarget/eventtarget/index.md @@ -7,7 +7,8 @@ slug: Web/API/EventTarget/EventTarget **`EventTarget()`** 构造方法将会创建一个新的 {{domxref("EventTarget")}} 对象实例。 -> **备注:** 需要显式调用这一构造函数的情况极为少见。在大多数情况下,这一函数是在继承了 {{domxref("EventTarget")}} 类的构造函数中被 [`super`](/zh-CN/docs/Web/JavaScript/Reference/Operators/super) 所调用的。 +> [!NOTE] +> 需要显式调用这一构造函数的情况极为少见。在大多数情况下,这一函数是在继承了 {{domxref("EventTarget")}} 类的构造函数中被 [`super`](/zh-CN/docs/Web/JavaScript/Reference/Operators/super) 所调用的。 ## 语法 diff --git a/files/zh-cn/web/api/eventtarget/removeeventlistener/index.md b/files/zh-cn/web/api/eventtarget/removeeventlistener/index.md index 72670d3950cc93..0e43fc53da5fe6 100644 --- a/files/zh-cn/web/api/eventtarget/removeeventlistener/index.md +++ b/files/zh-cn/web/api/eventtarget/removeeventlistener/index.md @@ -11,7 +11,8 @@ slug: Web/API/EventTarget/removeEventListener 如果一个 {{domxref("EventTarget")}} 上的[事件监听器](/zh-CN/docs/Web/API/EventTarget/addEventListener#事件监听回调)在另一监听器处理该事件时被移除,那么它将不能被事件触发。不过,它可以被重新绑定。 -> **警告:** 如果同一个事件监听器分别为“事件捕获(`capture` 为 `true`)”和“事件冒泡(`capture` 为 `false`)”注册了一次,这两个版本的监听器需要分别移除。移除捕获监听器不会影响非捕获版本的相同监听器,反之亦然。 +> [!WARNING] +> 如果同一个事件监听器分别为“事件捕获(`capture` 为 `true`)”和“事件冒泡(`capture` 为 `false`)”注册了一次,这两个版本的监听器需要分别移除。移除捕获监听器不会影响非捕获版本的相同监听器,反之亦然。 还有一种移除事件监听器的方法:可以向 {{domxref("EventTarget/addEventListener()", "addEventListener()")}} 传入一个 {{domxref("AbortSignal")}},稍后再调用拥有该事件的控制器上的 {{domxref("AbortController/abort()", "abort()")}} 方法即可。 diff --git a/files/zh-cn/web/api/ext_float_blend/index.md b/files/zh-cn/web/api/ext_float_blend/index.md index 7a64841fa9fcff..38a752068d4168 100644 --- a/files/zh-cn/web/api/ext_float_blend/index.md +++ b/files/zh-cn/web/api/ext_float_blend/index.md @@ -9,7 +9,8 @@ slug: Web/API/EXT_float_blend 若要查询该扩展是否存在,可以用方法:{{domxref("WebGLRenderingContext.getExtension()")}}。更多信息可以参考 [WebGL tutorial](/zh-CN/docs/Web/API/WebGL_API/Tutorial) 中的 [Using Extensions](/zh-CN/docs/Web/API/WebGL_API/Using_Extensions)。 -> **备注:** 该扩展在 {{domxref("WebGLRenderingContext", "WebGL1")}} 和{{domxref("WebGL2RenderingContext", "WebGL2")}} 上下文中均存在。但是,要使用它,你需要启用对 32 位浮点绘制缓冲区的使用{{domxref("WEBGL_color_buffer_float")}}(for WebGL1)或 {{domxref("EXT_color_buffer_float")}}(WebGL2)。通过启用 32 位浮点缓冲区扩展,将自动启用`EXT_float_blend`。 +> [!NOTE] +> 该扩展在 {{domxref("WebGLRenderingContext", "WebGL1")}} 和{{domxref("WebGL2RenderingContext", "WebGL2")}} 上下文中均存在。但是,要使用它,你需要启用对 32 位浮点绘制缓冲区的使用{{domxref("WEBGL_color_buffer_float")}}(for WebGL1)或 {{domxref("EXT_color_buffer_float")}}(WebGL2)。通过启用 32 位浮点缓冲区扩展,将自动启用`EXT_float_blend`。 该组件启用后,使用 32 位浮点数混合方式绘制,调用 {{domxref("WebGLRenderingContext.drawArrays", "drawArrays()")}} 或 {{domxref("WebGLRenderingContext.drawElements", "drawElements()")}} 时,将不再产生 `INVALID_OPERATION` 异常。 diff --git a/files/zh-cn/web/api/extendableevent/index.md b/files/zh-cn/web/api/extendableevent/index.md index cfaca61c9adb96..0f15d7ec74a785 100644 --- a/files/zh-cn/web/api/extendableevent/index.md +++ b/files/zh-cn/web/api/extendableevent/index.md @@ -7,13 +7,15 @@ slug: Web/API/ExtendableEvent 作为 service worker 生命周期的一部分,**`ExtendableEvent`** 接口延长了在全局范围上 [`install`](/zh-CN/docs/Web/API/ServiceWorkerGlobalScope/install_event) 和 [`activate`](/zh-CN/docs/Web/API/ServiceWorkerGlobalScope/activate_event) 事件的生命周期。这样可以确保在升级数据库架构并删除过时的 caches 之前,不会调度任何函数事件(如{{domxref("FetchEvent")}})。如果在`ExtendableEvent`处理程序之外调用{{domxref("ExtendableEvent.waitUntil","waitUntil()")}},浏览器应该抛出一个`InvalidStateError`;还要注意,多个调用将堆积起来,结果 promises 将添加到[extend lifetime promises](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#dfn-extend-lifetime-promises). -> **备注:** 上述段落中描述的行为在 firefox 43 中得到了修复(参见 [Firefox bug 1180274](https://bugzil.la/1180274))。 +> [!NOTE] +> 上述段落中描述的行为在 firefox 43 中得到了修复(参见 [Firefox bug 1180274](https://bugzil.la/1180274))。 此接口继承自{{domxref("Event")}}接口。 {{InheritanceDiagram(700, 60, 20)}} -> **备注:** 只有当全局范围是 {{domxref("ServiceWorkerGlobalScope")}} 时,此接口才可用。当它是一个 {{domxref("Window")}} 或其他类型 worker 的作用域时,它不可用。 +> [!NOTE] +> 只有当全局范围是 {{domxref("ServiceWorkerGlobalScope")}} 时,此接口才可用。当它是一个 {{domxref("Window")}} 或其他类型 worker 的作用域时,它不可用。 ## 构造函数 @@ -37,7 +39,8 @@ _从他的父辈继承,{{domxref("Event")}}。_ 代码段还显示了对 service worker 使用的缓存进行版本控制的最佳实践。虽然在这个例子中只有一个缓存,但是相同的方法可以用于多个缓存。它将缓存的速记标识符映射到特定的、版本化的缓存名称。 -> **备注:** 在 chrome 中,日志记录语句通过 chrome://service worker internals 访问的相关服务工作者的“inspect”接口可见。 +> [!NOTE] +> 在 chrome 中,日志记录语句通过 chrome://service worker internals 访问的相关服务工作者的“inspect”接口可见。 ```js var CACHE_VERSION = 1; @@ -78,7 +81,8 @@ self.addEventListener("install", function (event) { }); ``` -> **备注:** 在获取资源时,如果有可能资源是由不支持 [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) 的服务器提供的,那么使用 `{mode: 'no-cors'}` 非常重要。在本例中, [www.chromium.org](http://www.chromium.org) 不支持 CORS。 +> [!NOTE] +> 在获取资源时,如果有可能资源是由不支持 [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) 的服务器提供的,那么使用 `{mode: 'no-cors'}` 非常重要。在本例中, [www.chromium.org](http://www.chromium.org) 不支持 CORS。 ## 规范 diff --git a/files/zh-cn/web/api/extendableevent/waituntil/index.md b/files/zh-cn/web/api/extendableevent/waituntil/index.md index 56c41ecd4c76d1..872c44e6f74b84 100644 --- a/files/zh-cn/web/api/extendableevent/waituntil/index.md +++ b/files/zh-cn/web/api/extendableevent/waituntil/index.md @@ -13,7 +13,8 @@ slug: Web/API/ExtendableEvent/waitUntil `waitUntil()` 方法最初必须在事件回调里调用,在此之后,方法可以被调用多次,直至所有传入的 promise 被解决。 -> **备注:** 上述段落描述的行为已经在 Firefox 43 中被修复(参见 [Firefox bug 1180274](https://bugzil.la/1180274))。 +> [!NOTE] +> 上述段落描述的行为已经在 Firefox 43 中被修复(参见 [Firefox bug 1180274](https://bugzil.la/1180274))。 ## 语法 diff --git a/files/zh-cn/web/api/fetch_api/index.md b/files/zh-cn/web/api/fetch_api/index.md index 79df88d939cee7..98b39e480a5c54 100644 --- a/files/zh-cn/web/api/fetch_api/index.md +++ b/files/zh-cn/web/api/fetch_api/index.md @@ -33,7 +33,8 @@ Fetch 提供了对 {{domxref("Request")}} 和 {{domxref("Response")}}(以及 - [2018 年 4 月](https://github.com/whatwg/fetch/pull/585),该规范将默认的 credentials 策略更改为 `'same-origin'`。以下浏览器发布了过时的原生 fetch,并在以下版本中更新:Firefox 61.0b13、Safari 12、Chrome 68。 - 如果你的目标是这些旧的浏览器,请务必在所有可能接受 cookie/用户登录状态影响的 API 请求中包含拥有 `credentials: 'same-origin'` 的 [init 对象](/zh-CN/docs/Web/API/fetch#参数)。 -> **备注:** 更多关于 Fetch API 的用法,参考[使用 Fetch](/zh-CN/docs/Web/API/Fetch_API/Using_Fetch)。 +> [!NOTE] +> 更多关于 Fetch API 的用法,参考[使用 Fetch](/zh-CN/docs/Web/API/Fetch_API/Using_Fetch)。 ### 中止 fetch diff --git a/files/zh-cn/web/api/fetch_api/using_fetch/index.md b/files/zh-cn/web/api/fetch_api/using_fetch/index.md index bfb79e1213d69c..384a51c34d4f49 100644 --- a/files/zh-cn/web/api/fetch_api/using_fetch/index.md +++ b/files/zh-cn/web/api/fetch_api/using_fetch/index.md @@ -78,9 +78,11 @@ fetch("https://example.com", { }); ``` -> **备注:** 当请求使用 `credentials: 'include'` 时,响应的 `Access-Control-Allow-Origin` 不能使用通配符 "`*`"。在这种情况下,`Access-Control-Allow-Origin` 必须是当前请求的源,在使用 CORS Unblock 插件的情况下请求仍会失败。 +> [!NOTE] +> 当请求使用 `credentials: 'include'` 时,响应的 `Access-Control-Allow-Origin` 不能使用通配符 "`*`"。在这种情况下,`Access-Control-Allow-Origin` 必须是当前请求的源,在使用 CORS Unblock 插件的情况下请求仍会失败。 -> **备注:** 无论怎么设置,浏览器都不应在 _预检请求_ 中发送凭据。了解更多:[跨域资源共享 > 附带身份凭证的请求](/zh-CN/docs/Web/HTTP/CORS#附带身份凭证的请求) +> [!NOTE] +> 无论怎么设置,浏览器都不应在 _预检请求_ 中发送凭据。了解更多:[跨域资源共享 > 附带身份凭证的请求](/zh-CN/docs/Web/HTTP/CORS#附带身份凭证的请求) 如果你只想在请求 URL 与调用脚本位于同一起源处时发送凭据,请添加 `credentials: 'same-origin'`。 @@ -349,7 +351,8 @@ fetch(myRequest) - `response`:从 response 中获得的 headers({{domxref("Response.headers")}})只读。 - `immutable`:在 ServiceWorkers 中最常用的,所有的 headers 都只读。 -> **备注:** 你不可以添加或者修改一个 guard 属性是 `request` 的 Request Header 的 `Content-Length` 属性。同样地,插入 `Set-Cookie` 属性到一个 response header 是不允许的,因此,Service Worker 中,不能给合成的 Response 设置 cookie。 +> [!NOTE] +> 你不可以添加或者修改一个 guard 属性是 `request` 的 Request Header 的 `Content-Length` 属性。同样地,插入 `Set-Cookie` 属性到一个 response header 是不允许的,因此,Service Worker 中,不能给合成的 Response 设置 cookie。 ## Response 对象 @@ -378,7 +381,8 @@ addEventListener("fetch", (event) => { {{domxref("Response.Response","Response()")}} 构造方法接受两个可选参数——response 的 body 和一个初始化对象(与{{domxref("Request.Request","Request()")}} 所接受的 init 参数类似)。 -> **备注:** 静态方法 {{domxref("Response.error","error()")}} 只是返回了错误的 response。与此类似地,{{domxref("Response.redirect","redirect()")}} 只是返回了一个可以重定向至某 URL 的 response。这些也只与 Service Worker 有关。 +> [!NOTE] +> 静态方法 {{domxref("Response.error","error()")}} 只是返回了错误的 response。与此类似地,{{domxref("Response.redirect","redirect()")}} 只是返回了一个可以重定向至某 URL 的 response。这些也只与 Service Worker 有关。 ## Body diff --git a/files/zh-cn/web/api/file_api/using_files_from_web_applications/index.md b/files/zh-cn/web/api/file_api/using_files_from_web_applications/index.md index 4100cd7ea48b35..8d9a4d26b50f73 100644 --- a/files/zh-cn/web/api/file_api/using_files_from_web_applications/index.md +++ b/files/zh-cn/web/api/file_api/using_files_from_web_applications/index.md @@ -383,7 +383,8 @@ function handleFiles() { 此示例展示了如何让用户将文件(例如使用上一个示例选择的图像)上传到服务器。 -> **备注:** 通常最好使用 [Fetch API](/zh-CN/docs/Web/API/Fetch_API) 而不是 {{domxref("XMLHttpRequest")}} 发起 HTTP 请求。但是,在这种情况下,我们想向用户显示上传进度,而 Fetch API 仍然不支持此特性,因此示例使用 `XMLHttpRequest`。使用 Fetch API 跟踪进度通知标准化的工作位于 。 +> [!NOTE] +> 通常最好使用 [Fetch API](/zh-CN/docs/Web/API/Fetch_API) 而不是 {{domxref("XMLHttpRequest")}} 发起 HTTP 请求。但是,在这种情况下,我们想向用户显示上传进度,而 Fetch API 仍然不支持此特性,因此示例使用 `XMLHttpRequest`。使用 Fetch API 跟踪进度通知标准化的工作位于 。 ### 创建上传任务 diff --git a/files/zh-cn/web/api/file_system_api/index.md b/files/zh-cn/web/api/file_system_api/index.md index 5c51ba3dfcaa9d..d75d1aeb0686fc 100644 --- a/files/zh-cn/web/api/file_system_api/index.md +++ b/files/zh-cn/web/api/file_system_api/index.md @@ -24,9 +24,11 @@ l10n: 每种句柄都提供了其独有的功能,取决于你使用的种类,会有些许差异(详见[接口](#接口)部分)。在获得句柄后,你便可以访问文件的数据或是被选中的目录的信息(包含子目录)。此 API 开辟了 web 此前一直缺乏的潜在功能。但不论如何,安全性是设计 API 时的首要考量,除非用户明确授权,否则就不允许访问文件和目录的数据(注意:[源私有文件系统](#源私有文件系统)并非如此,因为其对用户不可见)。 -> **备注:** 使用此 API 的特性时可能会抛出的各种异常已在规范定义的相关页面中列出。然而,API 与底层操作系统的交互使得实际情况更加复杂。这里提供一篇关于[在规范中列出错误对应表](https://github.com/whatwg/fs/issues/57)的提议,其中包含了一些有用的信息。 +> [!NOTE] +> 使用此 API 的特性时可能会抛出的各种异常已在规范定义的相关页面中列出。然而,API 与底层操作系统的交互使得实际情况更加复杂。这里提供一篇关于[在规范中列出错误对应表](https://github.com/whatwg/fs/issues/57)的提议,其中包含了一些有用的信息。 -> **备注:** 基于 {{domxref("FileSystemHandle")}} 的对象能够被序列化存储至 {{domxref("IndexedDB API", "IndexedDB", "", "nocode")}} 数据库实例中,也可以通过 {{domxref("window.postMessage", "postMessage()")}} 移交。 +> [!NOTE] +> 基于 {{domxref("FileSystemHandle")}} 的对象能够被序列化存储至 {{domxref("IndexedDB API", "IndexedDB", "", "nocode")}} 数据库实例中,也可以通过 {{domxref("window.postMessage", "postMessage()")}} 移交。 ### 源私有文件系统 @@ -223,7 +225,8 @@ onmessage = async (e) => { }; ``` -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle")}} 的 {{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被不合逻辑地指定为异步方法。此问题现已被[修正](https://github.com/whatwg/fs/issues/7),但某些浏览器依然支持异步版本。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle")}} 的 {{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被不合逻辑地指定为异步方法。此问题现已被[修正](https://github.com/whatwg/fs/issues/7),但某些浏览器依然支持异步版本。 ## 规范 diff --git a/files/zh-cn/web/api/file_system_api/origin_private_file_system/index.md b/files/zh-cn/web/api/file_system_api/origin_private_file_system/index.md index 2cbf6d63779891..5628ce6b4c46f6 100644 --- a/files/zh-cn/web/api/file_system_api/origin_private_file_system/index.md +++ b/files/zh-cn/web/api/file_system_api/origin_private_file_system/index.md @@ -41,7 +41,8 @@ OPFS 提供了页面所属源私有的、对用户不可见的、底层的逐字 在主线程中访问 OPFS 时,你要使用基于 {{jsxref("Promise")}} 的异步 API。你可以调用代表 OPFS 根目录(以及其中被创建的子目录)的 {{domxref("FileSystemDirectoryHandle")}} 对象上的 {{domxref("FileSystemDirectoryHandle.getFileHandle()")}} 和 {{domxref("FileSystemDirectoryHandle.getDirectoryHandle()")}} 方法来分别访问文件({{domxref("FileSystemFileHandle")}})和目录({{domxref("FileSystemDirectoryHandle")}})。 -> **备注:** 在上述方法中传入 `{ create: true }` 会在文件或文件夹不存在时创建相应的文件或文件夹。 +> [!NOTE] +> 在上述方法中传入 `{ create: true }` 会在文件或文件夹不存在时创建相应的文件或文件夹。 ```js // 创建层级结构的文件和文件夹 @@ -122,7 +123,8 @@ Web Worker 不会阻塞主线程,这意味着你可以在其上下文中使用 你可以通过在常规的 {{domxref("FileSystemFileHandle")}} 上调用 {{domxref("FileSystemFileHandle.createSyncAccessHandle()")}} 来同步地处理文件: -> **备注:** 虽然 `createSyncAccessHandle()` 的名称带有“Sync(同步)”字眼,但是这个方法本身是异步的。 +> [!NOTE] +> 虽然 `createSyncAccessHandle()` 的名称带有“Sync(同步)”字眼,但是这个方法本身是异步的。 ```js const opfsRoot = await navigator.storage.getDirectory(); diff --git a/files/zh-cn/web/api/filelist/index.md b/files/zh-cn/web/api/filelist/index.md index 4abb3f5f5490db..a8823ac45d943a 100644 --- a/files/zh-cn/web/api/filelist/index.md +++ b/files/zh-cn/web/api/filelist/index.md @@ -21,7 +21,8 @@ l10n: const file = document.getElementById("fileItem").files[0]; ``` -> **备注:** 此接口的出现是[对创建不可修改列表的一次尝试](https://stackoverflow.com/questions/74630989/why-use-domstringlist-rather-than-an-array/74641156#74641156),并且仅是出于避免破坏已经在使用它的代码而继续受到支持。现代 API 使用围绕 ECMAScript 数组类型的类型,因此你可以像 ECMAScript 数组一样对待它们,同时对其使用施加额外的语义(例如使其项目只读)。 +> [!NOTE] +> 此接口的出现是[对创建不可修改列表的一次尝试](https://stackoverflow.com/questions/74630989/why-use-domstringlist-rather-than-an-array/74641156#74641156),并且仅是出于避免破坏已经在使用它的代码而继续受到支持。现代 API 使用围绕 ECMAScript 数组类型的类型,因此你可以像 ECMAScript 数组一样对待它们,同时对其使用施加额外的语义(例如使其项目只读)。 ## 实例属性 diff --git a/files/zh-cn/web/api/filereader/readasbinarystring/index.md b/files/zh-cn/web/api/filereader/readasbinarystring/index.md index c2caaae16d737b..f40eda5fcff1dd 100644 --- a/files/zh-cn/web/api/filereader/readasbinarystring/index.md +++ b/files/zh-cn/web/api/filereader/readasbinarystring/index.md @@ -7,7 +7,8 @@ l10n: {{APIRef("File API")}}{{AvailableInWorkers}}{{Deprecated_Header}} -> **备注:** 此方法已弃用,取而代之的是 {{DOMxRef("FileReader.readAsArrayBuffer","readAsArrayBuffer()")}}。 +> [!NOTE] +> 此方法已弃用,取而代之的是 {{DOMxRef("FileReader.readAsArrayBuffer","readAsArrayBuffer()")}}。 {{domxref("FileReader")}} 接口的 **`readAsBinaryString()`** 方法用于开始读取指定 {{domxref("Blob")}} 或 {{domxref("File")}} 对象的内容。当读操作完成后,{{domxref("FileReader.readyState","readyState")}} 属性变为 `DONE`,并且 {{domxref("FileReader/loadend_event", "loadend")}} 事件被触发。此时,{{domxref("FileReader.result","result")}} 属性包含来自的原始二进制数据文件。 diff --git a/files/zh-cn/web/api/filereader/readasdataurl/index.md b/files/zh-cn/web/api/filereader/readasdataurl/index.md index 297ee631d9fb1f..9d671b8fe93011 100644 --- a/files/zh-cn/web/api/filereader/readasdataurl/index.md +++ b/files/zh-cn/web/api/filereader/readasdataurl/index.md @@ -9,7 +9,8 @@ l10n: {{domxref("FileReader")}} 接口的 **`readAsDataURL()`** 方法用于读取指定的 {{domxref("Blob")}} 或 {{domxref("File")}} 对象的内容。当读操作完成时,{{domxref("FileReader.readyState","readyState")}} 属性变为 `DONE`,并触发 {{domxref("FileReader/loadend_event", "loadend")}} 事件。此时,{{domxref("FileReader.result","result")}} 属性包含作为 [data: URL](/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) 的数据,将文件的数据表示为 base64 编码字符串。 -> **备注:** 如果不先删除 Base64 编码数据前面的 Data-URL 声明,则 blob 的 {{domxref("FileReader.result","result")}} 无法直接解码为 Base64。要仅检索 Base64 编码的字符串,请首先从结果中删除 `data:*/*;base64,`。 +> [!NOTE] +> 如果不先删除 Base64 编码数据前面的 Data-URL 声明,则 blob 的 {{domxref("FileReader.result","result")}} 无法直接解码为 Base64。要仅检索 Base64 编码的字符串,请首先从结果中删除 `data:*/*;base64,`。 ## 语法 diff --git a/files/zh-cn/web/api/filereader/readastext/index.md b/files/zh-cn/web/api/filereader/readastext/index.md index 19904d63534ff4..c3fdb02a71cfc3 100644 --- a/files/zh-cn/web/api/filereader/readastext/index.md +++ b/files/zh-cn/web/api/filereader/readastext/index.md @@ -11,7 +11,8 @@ l10n: > **备注:** {{domxref("Blob.text()")}} 方法是一种较新的基于 Promise 的 API,用于将文件读取为文本。 -> **备注:** 该方法将整个文件的内容加载到内存中,不适合大文件。对于大文件,首选使用 {{domxref("FileReader.readAsArrayBuffer", "readAsArrayBuffer()")}}。 +> [!NOTE] +> 该方法将整个文件的内容加载到内存中,不适合大文件。对于大文件,首选使用 {{domxref("FileReader.readAsArrayBuffer", "readAsArrayBuffer()")}}。 ## 语法 diff --git a/files/zh-cn/web/api/filereadersync/filereadersync/index.md b/files/zh-cn/web/api/filereadersync/filereadersync/index.md index fb285af108f29b..d12c078843cc9d 100644 --- a/files/zh-cn/web/api/filereadersync/filereadersync/index.md +++ b/files/zh-cn/web/api/filereadersync/filereadersync/index.md @@ -30,7 +30,8 @@ function readFile(blob) { } ``` -> **备注:** 此代码段必须在 {{domxref("Worker")}} 内部使用,因为同步接口不能在主线程上使用。 +> [!NOTE] +> 此代码段必须在 {{domxref("Worker")}} 内部使用,因为同步接口不能在主线程上使用。 ## 规范 diff --git a/files/zh-cn/web/api/filereadersync/readasbinarystring/index.md b/files/zh-cn/web/api/filereadersync/readasbinarystring/index.md index 5f7ec95b34bf28..aedb8012f63891 100644 --- a/files/zh-cn/web/api/filereadersync/readasbinarystring/index.md +++ b/files/zh-cn/web/api/filereadersync/readasbinarystring/index.md @@ -7,7 +7,8 @@ l10n: {{APIRef("File API")}}{{deprecated_header}} {{AvailableInWorkers("worker_except_service")}} -> **备注:** 此方法已弃用,取而代之的是 {{DOMxRef("FileReaderSync.readAsArrayBuffer","readAsArrayBuffer()")}}。 +> [!NOTE] +> 此方法已弃用,取而代之的是 {{DOMxRef("FileReaderSync.readAsArrayBuffer","readAsArrayBuffer()")}}。 {{DOMxRef("FileReaderSync")}} 接口的 **`readAsBinaryString()`** 方法允许以同步方式读取 {{DOMxRef("File")}} 或 {{DOMxRef("Blob")}} 对象并将其转换为字符串。此接口仅在 [worker](/zh-CN/docs/Web/API/Worker) 中[可用](/zh-CN/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers),因为它支持同步 I/O,可能导致潜在的阻塞。 diff --git a/files/zh-cn/web/api/filesystemdirectoryentry/index.md b/files/zh-cn/web/api/filesystemdirectoryentry/index.md index 2429d64ab26b20..8043f68af70ac8 100644 --- a/files/zh-cn/web/api/filesystemdirectoryentry/index.md +++ b/files/zh-cn/web/api/filesystemdirectoryentry/index.md @@ -7,7 +7,8 @@ slug: Web/API/FileSystemDirectoryEntry [文件和目录条目 API](/zh-CN/docs/Web/API/File_and_Directory_Entries_API) 的 **`FileSystemDirectoryEntry`** 接口表示文件系统中的目录。它提供了方法,使其能够访问和操作目录中的文件,以及访问目录中的条目。 -> **备注:** 由于这是个非标准的 API,它的规范当前并没有在标准进程中,重要的是要记住,并不是所有浏览器都实现了他,并且实现它的浏览器可能仅仅实现了一小部分。更多细节请查看 [Browser compatibility](#browser_compatibility) 。 +> [!NOTE] +> 由于这是个非标准的 API,它的规范当前并没有在标准进程中,重要的是要记住,并不是所有浏览器都实现了他,并且实现它的浏览器可能仅仅实现了一小部分。更多细节请查看 [Browser compatibility](#browser_compatibility) 。 ## 基本概念 diff --git a/files/zh-cn/web/api/filesystemfileentry/index.md b/files/zh-cn/web/api/filesystemfileentry/index.md index 52c7d1655ac86d..71a93429969add 100644 --- a/files/zh-cn/web/api/filesystemfileentry/index.md +++ b/files/zh-cn/web/api/filesystemfileentry/index.md @@ -7,7 +7,8 @@ slug: Web/API/FileSystemFileEntry [文件系统 API](/zh-CN/DOM/File_API/File_System_API) 的 **`FileSystemFileEntry`** 接口表示文件系统中的文件。它提供了属性,描述文件的属性,以及 {{domxref("FileSystemFileEntry.file", "file()")}} 方法,它创建了可以用于读取文件的 {{domxref("File")}} 对象。 -> **备注:** 由于这是个非标准 API,它的规范当前并不在标准化过程中。重要的是要记住,并不是所有浏览器都实现了它,并且实现它的浏览器可能仅仅实现一小部分。点击 [Browser compatibility](#browser_compatibility) 来查看更多细节。 +> [!NOTE] +> 由于这是个非标准 API,它的规范当前并不在标准化过程中。重要的是要记住,并不是所有浏览器都实现了它,并且实现它的浏览器可能仅仅实现一小部分。点击 [Browser compatibility](#browser_compatibility) 来查看更多细节。 ## 属性 diff --git a/files/zh-cn/web/api/filesystemfilehandle/index.md b/files/zh-cn/web/api/filesystemfilehandle/index.md index 3bc09d97264af9..fc2bd199e69f4f 100644 --- a/files/zh-cn/web/api/filesystemfilehandle/index.md +++ b/files/zh-cn/web/api/filesystemfilehandle/index.md @@ -114,7 +114,8 @@ onmessage = async (e) => { }; ``` -> **备注:** 在规范的早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地指定为异步方法,并且某些较旧版本的浏览器以这种方式实现它们。然而,当前所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范的早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地指定为异步方法,并且某些较旧版本的浏览器以这种方式实现它们。然而,当前所有支持这些方法的浏览器都将它们实现为同步方法。 ## 规范 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/close/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/close/index.md index 271a3770d0d9f6..eef742f2e1e8f0 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/close/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/close/index.md @@ -9,7 +9,8 @@ l10n: {{domxref("FileSystemSyncAccessHandle")}} 接口的 **`close()`** 方法用于关闭一个打开的同步文件句柄,禁止之后对其的任何操作并且释放之前加在与文件句柄相关联的文件上的独占锁。 -> **备注:** 在规范早期版本中,`close()`、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,`close()`、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 语法 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/flush/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/flush/index.md index 2341c63c46d59f..16ce1ffb15aaa5 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/flush/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/flush/index.md @@ -11,7 +11,8 @@ l10n: 请记住:只当你需要在指定的时间将更改提交到磁盘的时候才需要调用这个方法,不然你可以让底层操作系统在其认为合适的时间点处理这项任务,这大多数情况下都不会有问题。 -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、`flush()`、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、`flush()`、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 语法 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/getsize/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/getsize/index.md index d6e0b43c4cd66b..56e570fbb2e004 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/getsize/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/getsize/index.md @@ -9,7 +9,8 @@ l10n: {{domxref("FileSystemSyncAccessHandle")}} 接口的 **`getSize()`** 方法用于返回与句柄相关联文件的字节大小。 -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、`getSize()` 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、`getSize()` 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 语法 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/index.md index 0696de6b86a5e9..bec6c4f14b99cf 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/index.md @@ -15,7 +15,8 @@ l10n: 这个接口通过 {{domxref('FileSystemFileHandle.createSyncAccessHandle()')}} 方法来访问。 -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle")}} 的 {{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle")}} 的 {{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 实例属性 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/read/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/read/index.md index f9dc26b3962749..ac2f244f6f5804 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/read/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/read/index.md @@ -77,7 +77,8 @@ onmessage = async (e) => { }; ``` -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 规范 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/truncate/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/truncate/index.md index a350a14cf3d1b6..96a0b7ed981750 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/truncate/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/truncate/index.md @@ -9,7 +9,8 @@ l10n: {{domxref("FileSystemSyncAccessHandle")}} 接口的 **`truncate()`** 方法用于将与句柄相关联文件的大小调整为指定的字节数。 -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 `truncate()` 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 `truncate()` 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 语法 diff --git a/files/zh-cn/web/api/filesystemsyncaccesshandle/write/index.md b/files/zh-cn/web/api/filesystemsyncaccesshandle/write/index.md index d4f9a7e0d4f8c1..29e7c29237bd9e 100644 --- a/files/zh-cn/web/api/filesystemsyncaccesshandle/write/index.md +++ b/files/zh-cn/web/api/filesystemsyncaccesshandle/write/index.md @@ -26,7 +26,8 @@ write(buffer, options) - `at` - : 一个表示应当从文件何处开始写入缓冲区的字节偏移量数字。 -> **备注:** 你无法直接操作 `ArrayBuffer` 中的内容,应该先创建一个像 {{jsxref("Int8Array")}} 或者 {{jsxref("DataView")}} 这样的类型化数组对象,用来把缓冲区表示成特定的格式,然后再用类型化数组对象来读写缓冲区的内容。 +> [!NOTE] +> 你无法直接操作 `ArrayBuffer` 中的内容,应该先创建一个像 {{jsxref("Int8Array")}} 或者 {{jsxref("DataView")}} 这样的类型化数组对象,用来把缓冲区表示成特定的格式,然后再用类型化数组对象来读写缓冲区的内容。 ### 返回值 @@ -81,7 +82,8 @@ onmessage = async (e) => { }; ``` -> **备注:** 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 +> [!NOTE] +> 在规范早期版本中,{{domxref("FileSystemSyncAccessHandle.close()", "close()")}}、{{domxref("FileSystemSyncAccessHandle.flush()", "flush()")}}、{{domxref("FileSystemSyncAccessHandle.getSize()", "getSize()")}} 和 {{domxref("FileSystemSyncAccessHandle.truncate()", "truncate()")}} 被错误地规定为异步方法。某些浏览器的旧版本是依照异步方式来实现这些方法的,不过,现今所有支持这些方法的浏览器都将它们实现为同步方法。 ## 规范 diff --git a/files/zh-cn/web/api/formdata/append/index.md b/files/zh-cn/web/api/formdata/append/index.md index 5f7d72969695f9..0cc8a2257ec5b7 100644 --- a/files/zh-cn/web/api/formdata/append/index.md +++ b/files/zh-cn/web/api/formdata/append/index.md @@ -27,7 +27,8 @@ formData.append(name, value, filename); - `filename` {{optional_inline}} - : 传给服务器的文件名称 (一个 {{domxref("USVString")}}), 当一个 {{domxref("Blob")}} 或 {{domxref("File")}} 被作为第二个参数的时候, {{domxref("Blob")}} 对象的默认文件名是 "blob"。 {{domxref("File")}} 对象的默认文件名是该文件的名称。 -> **备注:** 如果你指定一个 {{domxref("Blob")}} 作为数据添加到 `FormData` 对象中,文件名会被放在 "Content-Disposition" 头部(常常会根据浏览器变化而变化)传给服务器。 +> [!NOTE] +> 如果你指定一个 {{domxref("Blob")}} 作为数据添加到 `FormData` 对象中,文件名会被放在 "Content-Disposition" 头部(常常会根据浏览器变化而变化)传给服务器。 ### 返回值 diff --git a/files/zh-cn/web/api/formdata/formdata/index.md b/files/zh-cn/web/api/formdata/formdata/index.md index 12dd978f14b94d..4db3c64ef114d5 100644 --- a/files/zh-cn/web/api/formdata/formdata/index.md +++ b/files/zh-cn/web/api/formdata/formdata/index.md @@ -52,7 +52,8 @@ formData.append("username", "Chris"); ``` -> **备注:** 所有的输入元素都需要有 **name** 属性,否则无法访问到值。 +> [!NOTE] +> 所有的输入元素都需要有 **name** 属性,否则无法访问到值。 ```js var myForm = document.getElementById("myForm"); diff --git a/files/zh-cn/web/api/formdata/set/index.md b/files/zh-cn/web/api/formdata/set/index.md index 97c8e3b305e62e..f222b49014cfe2 100644 --- a/files/zh-cn/web/api/formdata/set/index.md +++ b/files/zh-cn/web/api/formdata/set/index.md @@ -28,7 +28,8 @@ formData.set(name, value, filename); - : 当第二个参数传递的是一个 blob 对象({{domxref("Blob")}})或者 file 对象({{domxref("File")}}),filename 参数就代表传给服务端的文件名(一个 {{domxref("USVString")}})。 {{domxref("Blob")}} 对象的默认文件名是 "blob",{{domxref("File")}} 对象的默认文件名则为其“name”属性 -> **备注:** 如果对 FormData 对象插入一个 blob 对象( {{domxref("Blob")}}),那么发送给服务器的请求头部(header)里的“Content-Disposition”里的文件名称将会根据浏览器的不同而不同。 +> [!NOTE] +> 如果对 FormData 对象插入一个 blob 对象( {{domxref("Blob")}}),那么发送给服务器的请求头部(header)里的“Content-Disposition”里的文件名称将会根据浏览器的不同而不同。 ## 示例 diff --git a/files/zh-cn/web/api/fullscreen_api/guide/index.md b/files/zh-cn/web/api/fullscreen_api/guide/index.md index 7ec1d46ab86a3a..a5823c519e51f7 100644 --- a/files/zh-cn/web/api/fullscreen_api/guide/index.md +++ b/files/zh-cn/web/api/fullscreen_api/guide/index.md @@ -52,7 +52,8 @@ if (elem.requestFullscreen) { 你并不总是可以进入全屏模式。例如 {{HTMLElement("iframe")}} 元素具有 [`allowfullscreen`](/zh-CN/docs/Web/HTML/Element/iframe#allowfullscreen) 属性,可选择是否将其内容以全屏模式显示。另外,几种特定的内容,比如窗体插件(windowed plug-ins),不能以全屏模式显示。尝试将不能以全屏模式显示的元素(或者此元素的父元素和后代元素)的时候,全屏请求是无效的。而相应元素会收到一个 `mozfullscreenerror` 事件。当全屏请求失败时,Firefox 会在 Web 控制台上打一条错误信息解释请求为什么失败。但是在 Chrome 和新版的 Opera 中,不会生成这样的警告。 -> **备注:** 全屏请求必须在事件处理函数中调用,否则将会被拒绝。 +> [!NOTE] +> 全屏请求必须在事件处理函数中调用,否则将会被拒绝。 ## 退出全屏模式 @@ -117,7 +118,8 @@ function toggleFullScreen() { ## 前缀 -> **备注:** 现在,只有 Firefox 64 和 Chrome 71 支持无前缀。 +> [!NOTE] +> 现在,只有 Firefox 64 和 Chrome 71 支持无前缀。 目前并不是所有的浏览器都实现了 API 的无前缀版本(你可以使用 [Fscreen](https://github.com/rafrex/fscreen) 获取跨浏览器全屏 API),这里有一份表格总结了前缀和它们之间的命名区别: diff --git a/files/zh-cn/web/api/fullscreen_api/index.md b/files/zh-cn/web/api/fullscreen_api/index.md index 720f8f14a3af4f..0ab0c6963f6ffb 100644 --- a/files/zh-cn/web/api/fullscreen_api/index.md +++ b/files/zh-cn/web/api/fullscreen_api/index.md @@ -42,7 +42,8 @@ _全屏 API 没有自己的接口。相反,它通过增强多个其他接口 - : 一个布尔值,如果文档有一个当前正在以全屏模式显示的元素,则为 `true`;否则返回 `false`。 - > **备注:** 请使用 {{DOMxRef("Document")}} 或 {{DOMxRef("ShadowRoot")}} 的 {{DOMxRef("Document.fullscreenElement", "fullscreenElement")}} 属性代替;如果它不为 `null`,则它是一个当前正在以全屏模式显示的 {{DOMxRef("Element")}}。 + > [!NOTE] + > 请使用 {{DOMxRef("Document")}} 或 {{DOMxRef("ShadowRoot")}} 的 {{DOMxRef("Document.fullscreenElement", "fullscreenElement")}} 属性代替;如果它不为 `null`,则它是一个当前正在以全屏模式显示的 {{DOMxRef("Element")}}。 ## 事件 @@ -59,7 +60,8 @@ _全屏 API 没有自己的接口。相反,它通过增强多个其他接口 用户可以选择按 ESC(或 F11)键退出全屏模式,而不是等待站点或应用程序以编程方式退出全屏模式。确保在用户界面中提供适当的用户界面元素,告知用户此选项对他们可用。 -> **备注:** 导航到另一页面、切换标签页或使用任何应用程序切换器(或 Alt-Tab)切换到另一个应用程序也会退出全屏模式。 +> [!NOTE] +> 导航到另一页面、切换标签页或使用任何应用程序切换器(或 Alt-Tab)切换到另一个应用程序也会退出全屏模式。 ## 示例 diff --git a/files/zh-cn/web/api/gainnode/gain/index.md b/files/zh-cn/web/api/gainnode/gain/index.md index 40d3eaa517a070..82aa184146cdbf 100644 --- a/files/zh-cn/web/api/gainnode/gain/index.md +++ b/files/zh-cn/web/api/gainnode/gain/index.md @@ -11,7 +11,8 @@ slug: Web/API/GainNode/gain 一个 {{domxref("AudioParam")}}。 -> **备注:** 虽然 `AudioParam` 属性是只读的,但其返回的值不是。 +> [!NOTE] +> 虽然 `AudioParam` 属性是只读的,但其返回的值不是。 ## 示例 diff --git a/files/zh-cn/web/api/gamepad_api/using_the_gamepad_api/index.md b/files/zh-cn/web/api/gamepad_api/using_the_gamepad_api/index.md index a130b3b382f2f0..164ddb7dfc9027 100644 --- a/files/zh-cn/web/api/gamepad_api/using_the_gamepad_api/index.md +++ b/files/zh-cn/web/api/gamepad_api/using_the_gamepad_api/index.md @@ -13,7 +13,8 @@ HTML5 为丰富的交互式游戏开发引入了许多必要的组件。像 ` **备注:** 在 Firefox 中,控制器只会暴露给与用户产生交互的可见页面。这有助于防止控制器被用于获取用户的指纹。一旦有一个手柄与页面产生交互,那么其他连接的控制器将自动对页面可见。 +> [!NOTE] +> 在 Firefox 中,控制器只会暴露给与用户产生交互的可见页面。这有助于防止控制器被用于获取用户的指纹。一旦有一个手柄与页面产生交互,那么其他连接的控制器将自动对页面可见。 你可以这样使用 [`gamepadconnected`](/zh-CN/docs/Web/API/Window/gamepadconnected_event) : @@ -111,7 +112,8 @@ window.addEventListener("gamepadconnected", function (e) { - `axes`: 一个表示设备上坐标输入控件 (例如控制器摇杆) 的数组对象。数组中的每个值都是介于 -1.0 到 1.0 的浮点值,来表示坐标方向的最低 (-1.0) 和最大 (1.0) 值。 - `timestamp`: 它将返回一个 {{ domxref("DOMHighResTimeStamp") }} ,该值表示上次更新此控制器数据的时间,以便开发者确定 `axes` 和 `button` 数据是否已从硬件更新。该值必须相对于 {{ domxref("PerformanceTiming") }} 接口的 `navigationStart` 对象。值是单调递增的,这意味着可以通过对比大小来确定数据更新的先后顺序,因为新的值始终比旧的值大。请注意 Firefox 当前不支持该属性。 -> **备注:** 出于安全原因,Gamepad 对象在 [`gamepadconnected`](/zh-CN/docs/Web/API/Window/gamepadconnected_event) 事件上可用而在 {{ domxref("Window") }} 对象上不可用。一旦我们得到了对它的引用,我们就可以获取其属性以了解有关控制器当前状态的信息。在后台,此对象将会在控制器状态更改时更新。 +> [!NOTE] +> 出于安全原因,Gamepad 对象在 [`gamepadconnected`](/zh-CN/docs/Web/API/Window/gamepadconnected_event) 事件上可用而在 {{ domxref("Window") }} 对象上不可用。一旦我们得到了对它的引用,我们就可以获取其属性以了解有关控制器当前状态的信息。在后台,此对象将会在控制器状态更改时更新。 ### 使用按键信息 diff --git a/files/zh-cn/web/api/gamepadbutton/index.md b/files/zh-cn/web/api/gamepadbutton/index.md index 869bc65e773054..592c6599943b62 100644 --- a/files/zh-cn/web/api/gamepadbutton/index.md +++ b/files/zh-cn/web/api/gamepadbutton/index.md @@ -9,7 +9,8 @@ slug: Web/API/GamepadButton `GamepadButton` 对象是由 {{domxref("Gamepad")}} 接口的 `buttons` 属性返回的可查询任意值的数组返回的。 -> **备注:** 上述情况是在 Firefox Gecko 28 及以上的;Chrome 和较早版本的 Firefox 访问此属性时仍然会返回一个双精浮点值的数组。 +> [!NOTE] +> 上述情况是在 Firefox Gecko 28 及以上的;Chrome 和较早版本的 Firefox 访问此属性时仍然会返回一个双精浮点值的数组。 ## 属性 diff --git a/files/zh-cn/web/api/gamepadhapticactuator/playeffect/index.md b/files/zh-cn/web/api/gamepadhapticactuator/playeffect/index.md index 5213108b3f26eb..5c9d8fb6e1d305 100644 --- a/files/zh-cn/web/api/gamepadhapticactuator/playeffect/index.md +++ b/files/zh-cn/web/api/gamepadhapticactuator/playeffect/index.md @@ -32,7 +32,8 @@ playEffect(type, params) - `weakMagnitude` - : 高频(弱)隆隆声电机的隆隆声强度,标准化为 0.0 到 1.0 之间的范围。 -> **备注:** 一个新的 `playEffect()` 调用会覆盖上一个仍在进行中的调用。 +> [!NOTE] +> 一个新的 `playEffect()` 调用会覆盖上一个仍在进行中的调用。 ### 返回值 diff --git a/files/zh-cn/web/api/gamepadhapticactuator/pulse/index.md b/files/zh-cn/web/api/gamepadhapticactuator/pulse/index.md index 61f207023d1860..f1b8631a93430c 100644 --- a/files/zh-cn/web/api/gamepadhapticactuator/pulse/index.md +++ b/files/zh-cn/web/api/gamepadhapticactuator/pulse/index.md @@ -22,7 +22,8 @@ pulse(value, duration) - `duration` - : 表示脉冲持续时间的双精度浮点数,单位是毫秒。 -> **备注:** 如果前一个调用仍在进行,重复调用 `pulse()` 会覆盖前一个调用。 +> [!NOTE] +> 如果前一个调用仍在进行,重复调用 `pulse()` 会覆盖前一个调用。 ### 返回值 diff --git a/files/zh-cn/web/api/geolocation/index.md b/files/zh-cn/web/api/geolocation/index.md index 0042ff73b56aa5..a9b2e4d80ec976 100644 --- a/files/zh-cn/web/api/geolocation/index.md +++ b/files/zh-cn/web/api/geolocation/index.md @@ -11,7 +11,8 @@ l10n: 带有此接口的对象可以用由 {{domxref("Navigator")}} 实现的属性 {{domxref("navigator.geolocation")}} 来获得。 -> **备注:** 出于安全考虑,当一个网页尝试获取地理位置信息时,会请求用户批准地理位置访问权限。因为每个浏览器都有各自请求用户批准该权限的策略和方法。 +> [!NOTE] +> 出于安全考虑,当一个网页尝试获取地理位置信息时,会请求用户批准地理位置访问权限。因为每个浏览器都有各自请求用户批准该权限的策略和方法。 ## 实例属性 diff --git a/files/zh-cn/web/api/geolocation_api/using_the_geolocation_api/index.md b/files/zh-cn/web/api/geolocation_api/using_the_geolocation_api/index.md index dc790cae0eaaef..10bc5bcdae8d5c 100644 --- a/files/zh-cn/web/api/geolocation_api/using_the_geolocation_api/index.md +++ b/files/zh-cn/web/api/geolocation_api/using_the_geolocation_api/index.md @@ -25,7 +25,8 @@ if ("geolocation" in navigator) { 你可以调用 {{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 函数获取用户当前定位位置。这会异步地请求获取用户位置,并查询定位硬件来获取最新信息。当定位被确定后,定义的回调函数就会被执行。你可以选择性地提供第二个回调函数,当有错误时会被执行。第三个参数也是可选的,你可以通过该对象参数设定最长可接受的定位返回时间、等待请求的时间和是否获取高精度定位。 -> **备注:** 默认情况下,{{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 会尽快返回一个低精度结果,这在你不关心准确度只关心快速获取结果的情况下很有用。有 GPS 的设备可能需要一分钟或更久来获取 GPS 定位,在这种情况下 `getCurrentPosition()` 会返回低精度数据(基于 IP 的定位或 Wi-Fi 定位)。 +> [!NOTE] +> 默认情况下,{{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 会尽快返回一个低精度结果,这在你不关心准确度只关心快速获取结果的情况下很有用。有 GPS 的设备可能需要一分钟或更久来获取 GPS 定位,在这种情况下 `getCurrentPosition()` 会返回低精度数据(基于 IP 的定位或 Wi-Fi 定位)。 ```js navigator.geolocation.getCurrentPosition((position) => { @@ -39,7 +40,8 @@ navigator.geolocation.getCurrentPosition((position) => { 你可以设定一个回调函数来响应定位数据发生的变更(设备发生了移动,或获取到了更高精度的地理位置信息)。你可以通过 {{domxref("Geolocation.watchPosition","watchPosition()")}} 函数实现该功能。它与 {{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 接受相同的参数,但回调函数会被调用多次。错误回调函数与 {{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 中一样是可选的,也会被多次调用。 -> **备注:** 你可以直接调用 {{domxref("Geolocation.watchPosition","watchPosition()")}} 函数,不需要先调用 {{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 函数。 +> [!NOTE] +> 你可以直接调用 {{domxref("Geolocation.watchPosition","watchPosition()")}} 函数,不需要先调用 {{domxref("Geolocation.getCurrentPosition","getCurrentPosition()")}} 函数。 ```js const watchID = navigator.geolocation.watchPosition((position) => { diff --git a/files/zh-cn/web/api/gpu/requestadapter/index.md b/files/zh-cn/web/api/gpu/requestadapter/index.md index 086655c120828e..938639bd8d4bde 100644 --- a/files/zh-cn/web/api/gpu/requestadapter/index.md +++ b/files/zh-cn/web/api/gpu/requestadapter/index.md @@ -38,7 +38,8 @@ requestAdapter(options) 如果你希望阻止你的应用程序运行在备用的适配器,你应该在请求 {{domxref("GPUDevice")}} 之前检查 {{domxref("GPUAdapter.isFallbackAdapter")}} 属性。 -> **备注:** 该规范包含 `requestAdapter()` 的 `forceFallbackAdapter` 选项。这是一个布尔值,如果设置为 `true`,则强制用户代理返回备用适配器(如果可用)。然而,任何浏览器仍没有支持这一点。 +> [!NOTE] +> 该规范包含 `requestAdapter()` 的 `forceFallbackAdapter` 选项。这是一个布尔值,如果设置为 `true`,则强制用户代理返回备用适配器(如果可用)。然而,任何浏览器仍没有支持这一点。 ### 返回值 diff --git a/files/zh-cn/web/api/headers/entries/index.md b/files/zh-cn/web/api/headers/entries/index.md index fbda4e49b9f1f1..4352f8ca535785 100644 --- a/files/zh-cn/web/api/headers/entries/index.md +++ b/files/zh-cn/web/api/headers/entries/index.md @@ -7,7 +7,8 @@ slug: Web/API/Headers/entries **`Headers.entries()`** 以{{jsxref("Iteration_protocols","迭代器")}}的形式返回 Headers 对象中所有的键值对。每一对中的键和值都是 {{jsxref("String")}} 对象。 -> **备注:** 这个方法在 [Web Worker](/zh-CN/docs/Web/API/Web_Workers_API) 中是可用的。 +> [!NOTE] +> 这个方法在 [Web Worker](/zh-CN/docs/Web/API/Web_Workers_API) 中是可用的。 ## 语法 diff --git a/files/zh-cn/web/api/headers/get/index.md b/files/zh-cn/web/api/headers/get/index.md index a80f37767d7615..fac5a1ac3880b0 100644 --- a/files/zh-cn/web/api/headers/get/index.md +++ b/files/zh-cn/web/api/headers/get/index.md @@ -7,7 +7,8 @@ slug: Web/API/Headers/get **`get()`** 方法以 {{domxref("ByteString")}} 形式从 Headers 对象中返回指定 header 的全部值。如果 Header 对象中不存在请求的 header,则返回 `null`。 -> **备注:** 出于安全原因,部分头信息只能被用户代理控制。这些头信息包括 {{Glossary("Forbidden_header_name", "forbidden header names", 1)}} 和 {{Glossary("Forbidden_response_header_name", "forbidden response header names", 1)}}。 +> [!NOTE] +> 出于安全原因,部分头信息只能被用户代理控制。这些头信息包括 {{Glossary("Forbidden_header_name", "forbidden header names", 1)}} 和 {{Glossary("Forbidden_response_header_name", "forbidden response header names", 1)}}。 ## Syntax diff --git a/files/zh-cn/web/api/headers/index.md b/files/zh-cn/web/api/headers/index.md index 00b1db41268d2d..62bc08bca4ca13 100644 --- a/files/zh-cn/web/api/headers/index.md +++ b/files/zh-cn/web/api/headers/index.md @@ -17,7 +17,8 @@ slug: Web/API/Headers 一个实现了`Headers` 的对象可以直接用于 {{jsxref("Statements/for...of", "for...of")}} 结构中,而不是 {{domxref('Headers.entries()', 'entries()')}}: `for (var p of myHeaders)` 等价于 `for (var p of myHeaders.entries())`. -> **备注:** 你可以通过阅读我们的 [HTTP headers](/zh-CN/docs/Web/HTTP/Headers)参考找到更多关于可用 headers 的信息。 +> [!NOTE] +> 你可以通过阅读我们的 [HTTP headers](/zh-CN/docs/Web/HTTP/Headers)参考找到更多关于可用 headers 的信息。 ## 构造函数 @@ -43,9 +44,11 @@ slug: Web/API/Headers - {{domxref("Headers.values()")}} - : 以{{jsxref("Iteration_protocols", "迭代器")}}的形式返回 Headers 对象中所有存在的 header 的值。 -> **备注:** 值得注意的是,在 header 已存在或者有多个值的状态下{{domxref("Headers.set()")}} 和 {{domxref("Headers.append()")}}的使用有如下区别,{{domxref("Headers.set()")}} 将会用新的值覆盖已存在的值,但是{{domxref("Headers.append()")}}会将新的值添加到已存在的值的队列末尾。请参相关词条内的示例代码。 +> [!NOTE] +> 值得注意的是,在 header 已存在或者有多个值的状态下{{domxref("Headers.set()")}} 和 {{domxref("Headers.append()")}}的使用有如下区别,{{domxref("Headers.set()")}} 将会用新的值覆盖已存在的值,但是{{domxref("Headers.append()")}}会将新的值添加到已存在的值的队列末尾。请参相关词条内的示例代码。 -> **备注:** 如果你尝试传入名称不是[有效的 HTTP 标头名称](https://fetch.spec.whatwg.org/#concept-header-name)的引用,则所有 Headers 方法都将引发 `TypeError`。如果标头具有不可变的 {{Glossary("Guard")}},则突变操作会引发 `TypeError`。在任何其他失败情况下,它们都会无声地失败。 +> [!NOTE] +> 如果你尝试传入名称不是[有效的 HTTP 标头名称](https://fetch.spec.whatwg.org/#concept-header-name)的引用,则所有 Headers 方法都将引发 `TypeError`。如果标头具有不可变的 {{Glossary("Guard")}},则突变操作会引发 `TypeError`。在任何其他失败情况下,它们都会无声地失败。 ### Obsolete methods diff --git a/files/zh-cn/web/api/headers/keys/index.md b/files/zh-cn/web/api/headers/keys/index.md index bdd55b673bc5b4..a5067eaf48f08c 100644 --- a/files/zh-cn/web/api/headers/keys/index.md +++ b/files/zh-cn/web/api/headers/keys/index.md @@ -7,7 +7,8 @@ slug: Web/API/Headers/keys **`Headers.keys()`** 方法返回一个 headers(Object) 对象所有 key 组成的迭代器,通过迭代器可以遍历 headers 这个对象,返回的迭代器中的元素 key 都是字符串。 -> **备注:** 这个方法在 [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API) 也可以使用。 +> [!NOTE] +> 这个方法在 [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API) 也可以使用。 ## 语法 diff --git a/files/zh-cn/web/api/headers/values/index.md b/files/zh-cn/web/api/headers/values/index.md index 5ccc39b2f358d4..35834902ae0bde 100644 --- a/files/zh-cn/web/api/headers/values/index.md +++ b/files/zh-cn/web/api/headers/values/index.md @@ -7,7 +7,8 @@ slug: Web/API/Headers/values **`Headers.values()`** 方法返回一个可迭代数值,通过这个数值可以遍历 **`Headers`** 中键值对的 **`value`** 值。返回的 **`value`** 都是 **`ByteString`** 对象。 -> **备注:** 这个方法可以在 [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API)中使用。 +> [!NOTE] +> 这个方法可以在 [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API)中使用。 ## 语法 diff --git a/files/zh-cn/web/api/history/go/index.md b/files/zh-cn/web/api/history/go/index.md index 0d14156cc41aa4..9f9b3207e1b25d 100644 --- a/files/zh-cn/web/api/history/go/index.md +++ b/files/zh-cn/web/api/history/go/index.md @@ -19,7 +19,8 @@ window.history.go(delta); - : 相对于当前页面你要去往历史页面的位置。负值表示向后移动,正值表示向前移动。因此,例如:`history.go(2)`向前移动两页,`history.go(-2)`则向后移动两页。如果未向该函数传参或`delta`相等于 0,则该函数与调用`location.reload()`具有相同的效果。 - > **备注:** 相等于 0 是采用宽松相等进行比较的。另外,JavaScript 值古怪的隐式转换在这里也是可用的。 + > [!NOTE] + > 相等于 0 是采用宽松相等进行比较的。另外,JavaScript 值古怪的隐式转换在这里也是可用的。 ## 示例 diff --git a/files/zh-cn/web/api/history_api/index.md b/files/zh-cn/web/api/history_api/index.md index 1d1c8244960268..6232f7d29a6448 100644 --- a/files/zh-cn/web/api/history_api/index.md +++ b/files/zh-cn/web/api/history_api/index.md @@ -9,7 +9,8 @@ l10n: **History API** 通过 {{DOMxRef("Window.history","history")}} 全局对象提供了对浏览器会话的历史记录(不要与 [WebExtensions 的 history](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/history) 混淆)的访问功能。它暴露了很多有用的方法和属性,使你可以在用户的历史记录中来回导航,而且可以操作历史记录栈中的内容。 -> **备注:** 该 API 仅在主线程({{domxref("Window")}})中可用。无法在 {{domxref("Worker")}} 或 {{domxref("Worklet")}} 上下文中访问它。 +> [!NOTE] +> 该 API 仅在主线程({{domxref("Window")}})中可用。无法在 {{domxref("Worker")}} 或 {{domxref("Worklet")}} 上下文中访问它。 ## 概念和用法 diff --git a/files/zh-cn/web/api/houdini_apis/index.md b/files/zh-cn/web/api/houdini_apis/index.md index 39c4229e588777..59687839e65365 100644 --- a/files/zh-cn/web/api/houdini_apis/index.md +++ b/files/zh-cn/web/api/houdini_apis/index.md @@ -31,7 +31,8 @@ li { } ``` -> **备注:** 能力越大,责任越大!在 Houdini 的帮助下你能够在 CSS 中实现你自己的布局、栅格、或者区域特性,但是这么做并不是最佳实践。CSS 工作组已经做了许多努力来确保 CSS 中的每一项特性都能正常运行,覆盖各种边界情况,同时考虑到了安全、隐私,以及可用性方面的表现。如果你要深入使用 Houdini,确保你也把以上这些事项考虑在内!并且先从小处开始,再把你的自定义 Houdini 推向一个富有雄心的项目。 +> [!NOTE] +> 能力越大,责任越大!在 Houdini 的帮助下你能够在 CSS 中实现你自己的布局、栅格、或者区域特性,但是这么做并不是最佳实践。CSS 工作组已经做了许多努力来确保 CSS 中的每一项特性都能正常运行,覆盖各种边界情况,同时考虑到了安全、隐私,以及可用性方面的表现。如果你要深入使用 Houdini,确保你也把以上这些事项考虑在内!并且先从小处开始,再把你的自定义 Houdini 推向一个富有雄心的项目。 ## Houdini APIs diff --git a/files/zh-cn/web/api/html_dom_api/microtask_guide/in_depth/index.md b/files/zh-cn/web/api/html_dom_api/microtask_guide/in_depth/index.md index baaf04382f9231..7545b350abca02 100644 --- a/files/zh-cn/web/api/html_dom_api/microtask_guide/in_depth/index.md +++ b/files/zh-cn/web/api/html_dom_api/microtask_guide/in_depth/index.md @@ -15,7 +15,8 @@ JavaScript 本质上是一门单线程语言。对于在它被设计出来的那 ## JavaScript 执行上下文 -> **备注:** 对于大多数 JavaScript 开发人员来说,这些细节并不重要。这里提供的信息只用于了解为什么微任务非常有用以及它们是如何工作的。如果你并不关心这些内容,你可以跳过这部分或者在你觉得需要的时候再倒回来查看。 +> [!NOTE] +> 对于大多数 JavaScript 开发人员来说,这些细节并不重要。这里提供的信息只用于了解为什么微任务非常有用以及它们是如何工作的。如果你并不关心这些内容,你可以跳过这部分或者在你觉得需要的时候再倒回来查看。 当一段 JavaScript 代码在运行的时候,它实际上是运行在**执行上下文**中。下面 3 种类型的代码会创建一个新的执行上下文: diff --git a/files/zh-cn/web/api/html_dom_api/microtask_guide/index.md b/files/zh-cn/web/api/html_dom_api/microtask_guide/index.md index a7053bb3253836..0a8247cb103b4f 100644 --- a/files/zh-cn/web/api/html_dom_api/microtask_guide/index.md +++ b/files/zh-cn/web/api/html_dom_api/microtask_guide/index.md @@ -35,7 +35,8 @@ JavaScript 中的 [promise](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ 其次,如果一个微任务通过调用 {{domxref("queueMicrotask()")}}, 向队列中加入了更多的微任务,则那些新加入的微任务 _会早于下一个任务运行_。这是因为事件循环会持续调用微任务直至队列中没有留存的,即使是在有更多微任务持续被加入的情况下。 -> **警告:** 因为微任务自身可以入列更多的微任务,且事件循环会持续处理微任务直至队列为空,那么就存在一种使得事件循环无尽处理微任务的真实风险。如何处理递归增加微任务是要谨慎而行的。 +> [!WARNING] +> 因为微任务自身可以入列更多的微任务,且事件循环会持续处理微任务直至队列为空,那么就存在一种使得事件循环无尽处理微任务的真实风险。如何处理递归增加微任务是要谨慎而行的。 ## 使用微任务 diff --git a/files/zh-cn/web/api/html_drag_and_drop_api/drag_operations/index.md b/files/zh-cn/web/api/html_drag_and_drop_api/drag_operations/index.md index 09b91ce1017ad7..c3e734f0dc3834 100644 --- a/files/zh-cn/web/api/html_drag_and_drop_api/drag_operations/index.md +++ b/files/zh-cn/web/api/html_drag_and_drop_api/drag_operations/index.md @@ -33,7 +33,8 @@ slug: Web/API/HTML_Drag_and_Drop_API/Drag_operations [`draggable`](/zh-CN/docs/Web/HTML/Global_attributes#draggable) 属性可在任意元素上设置,包括图像和链接。然而,对于后两者,该属性的默认值是 `true`,所以你只会在禁用这二者的拖拽时使用到 [`draggable`](/zh-CN/docs/Web/HTML/Global_attributes#draggable) 属性,将其设置为 `false`。 -> **备注:** 当一个元素被设置成可拖拽时,元素中的文本和其他子元素不能再以正常的方式(通过鼠标点击和拖拽)被选中。用户必须按住 alt 键,再用鼠标选择文本,或者使用键盘选择。 +> [!NOTE] +> 当一个元素被设置成可拖拽时,元素中的文本和其他子元素不能再以正常的方式(通过鼠标点击和拖拽)被选中。用户必须按住 alt 键,再用鼠标选择文本,或者使用键盘选择。 ## 开始拖拽操作 @@ -230,7 +231,8 @@ function doDragOver(event) { 在这个例子中,当带有 `droparea` 类的元素是一个有效的放置目标时,即在该元素的 {{domxref("HTMLElement/dragenter_event", "dragenter")}} 事件中调用 {{domxref("Event.preventDefault","preventDefault()")}} 方法时,元素会出现一个 1 像素的黑色轮廓。 -> **备注:** 要使这个伪类生效,你必须在 {{domxref("HTMLElement/dragenter_event", "dragenter")}} 事件中调用 {{domxref("Event.preventDefault","preventDefault()")}} 方法,因为这个伪类状态不会检查 {{domxref("HTMLElement/dragover_event", "dragover")}} 事件(译者注:即在 {{domxref("HTMLElement/dragover_event", "dragover")}} 事件中调用 {{domxref("Event.preventDefault","preventDefault()")}} 方法也不会使伪类生效,尽管这个伪类叫做“-moz-drag-over”)。 +> [!NOTE] +> 要使这个伪类生效,你必须在 {{domxref("HTMLElement/dragenter_event", "dragenter")}} 事件中调用 {{domxref("Event.preventDefault","preventDefault()")}} 方法,因为这个伪类状态不会检查 {{domxref("HTMLElement/dragover_event", "dragover")}} 事件(译者注:即在 {{domxref("HTMLElement/dragover_event", "dragover")}} 事件中调用 {{domxref("Event.preventDefault","preventDefault()")}} 方法也不会使伪类生效,尽管这个伪类叫做“-moz-drag-over”)。 对于更复杂的视觉效果,你可以在 {{domxref("HTMLElement/dragenter_event", "dragenter")}} 事件中执行其他操作。例如在放置位置插入一个元素,这样的元素可以表示一个插入标记,或表示被拖拽的元素移动到了新位置。为此你可以在 {{domxref("HTMLElement/dragenter_event", "dragenter")}} 事件中创建一个新元素,然后将其插入到文档中。 diff --git a/files/zh-cn/web/api/html_drag_and_drop_api/file_drag_and_drop/index.md b/files/zh-cn/web/api/html_drag_and_drop_api/file_drag_and_drop/index.md index 520a3c6bda4ef0..e649f531989a60 100644 --- a/files/zh-cn/web/api/html_drag_and_drop_api/file_drag_and_drop/index.md +++ b/files/zh-cn/web/api/html_drag_and_drop_api/file_drag_and_drop/index.md @@ -42,7 +42,8 @@ HTML 拖放接口使得 web 应用能够在网页中拖放文件。这篇文档 } ``` -> **备注:** 注意当执行将文件拖入浏览器的操作时操作系统并不会触发 `dragstart` 和 `dragend` 事件。 +> [!NOTE] +> 注意当执行将文件拖入浏览器的操作时操作系统并不会触发 `dragstart` 和 `dragend` 事件。 ## 执行释放事件 diff --git a/files/zh-cn/web/api/html_drag_and_drop_api/recommended_drag_types/index.md b/files/zh-cn/web/api/html_drag_and_drop_api/recommended_drag_types/index.md index 36c4730e9ddd66..7caccf0858b893 100644 --- a/files/zh-cn/web/api/html_drag_and_drop_api/recommended_drag_types/index.md +++ b/files/zh-cn/web/api/html_drag_and_drop_api/recommended_drag_types/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types HTML 拖放支持拖动各种类型的数据,包括纯文本,URL,HTML 代码,文件等。该文档描述了拖放常见数据类型的最佳做法。 -> **警告:** 本文档中包含一个**moz**前缀的所有方法和属性 (如**mozSetDataAt()**) 是 Gecko 的具体接口。这些接口仅适用于基于 Gecko 的浏览器。 +> [!WARNING] +> 本文档中包含一个**moz**前缀的所有方法和属性 (如**mozSetDataAt()**) 是 Gecko 的具体接口。这些接口仅适用于基于 Gecko 的浏览器。 ## 拖动文字 diff --git a/files/zh-cn/web/api/htmlanchorelement/download/index.md b/files/zh-cn/web/api/htmlanchorelement/download/index.md index 52f37f2102ce81..52d341255e362c 100644 --- a/files/zh-cn/web/api/htmlanchorelement/download/index.md +++ b/files/zh-cn/web/api/htmlanchorelement/download/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTMLAnchorElement/download **`HTMLAnchorElement.download`** 属性是一个{{jsxref("DOMString")}} ,表明链接的资源将被下载,而不是显示在浏览器中。该值表示下载文件的建议名称。如果该名称不是基础操作系统的有效文件名,浏览器将对其进行调整。 -> **备注:** 该值对于下载行为来说不一定是有用的,同时也不能决定下载行为是否发生。 +> [!NOTE] +> 该值对于下载行为来说不一定是有用的,同时也不能决定下载行为是否发生。 ## 语法 diff --git a/files/zh-cn/web/api/htmlaudioelement/index.md b/files/zh-cn/web/api/htmlaudioelement/index.md index 8562cb3c9edb73..f52a22f5611def 100644 --- a/files/zh-cn/web/api/htmlaudioelement/index.md +++ b/files/zh-cn/web/api/htmlaudioelement/index.md @@ -49,7 +49,8 @@ var audioElement = new Audio("car_horn.wav"); audioElement.play(); ``` -> **备注:** 一个常见的需求是在页面加载后马上去播放音频,现代浏览器的默认自动播放策略会阻止这一行为,参见 [firefox](https://hacks.mozilla.org/2019/02/firefox-66-to-block-automatically-playing-audible-video-and-audio/) 和 [chrome](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) 寻找最佳实践和解决方案。 +> [!NOTE] +> 一个常见的需求是在页面加载后马上去播放音频,现代浏览器的默认自动播放策略会阻止这一行为,参见 [firefox](https://hacks.mozilla.org/2019/02/firefox-66-to-block-automatically-playing-audible-video-and-audio/) 和 [chrome](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) 寻找最佳实践和解决方案。 一些经常被使用的属性,包括 {{domxref("HTMLMediaElement.src", "src")}}、{{domxref("HTMLMediaElement.currentTime", "currentTime")}}、{{domxref("HTMLMediaElement.duration", "duration")}}、{{domxref("HTMLMediaElement.paused", "paused")}}、{{domxref("HTMLMediaElement.muted", "muted")}} 和 {{domxref("HTMLMediaElement.volume", "volume")}}。以下这段代码赋值音频文件的播放时长给一个变量: diff --git a/files/zh-cn/web/api/htmlbodyelement/index.md b/files/zh-cn/web/api/htmlbodyelement/index.md index f2f179686e0b54..7e680ab79ca6a1 100644 --- a/files/zh-cn/web/api/htmlbodyelement/index.md +++ b/files/zh-cn/web/api/htmlbodyelement/index.md @@ -38,7 +38,8 @@ _无特定方法;从其父接口 {{domxref("HTMLElement")}} 继承方法。_ 以下以 {{domxref("Window")}} 为目标的 `onXYZ` 事件处理器属性同样在 `window` 对象这一别名目标上可用。但建议直接在 `window` 对象上监听这些事件,而不是在 `HTMLBodyElement` 上。 -> **备注:** 对于以下的 `onXYZ` 事件处理器,在 `HTMLBodyElement` 上使用 `addEventListener()` 将不会生效。请在 {{domxref("window")}} 对象上监听这些事件。 +> [!NOTE] +> 对于以下的 `onXYZ` 事件处理器,在 `HTMLBodyElement` 上使用 `addEventListener()` 将不会生效。请在 {{domxref("window")}} 对象上监听这些事件。 - {{domxref("window.afterprint_event", "HTMLBodyElement.onafterprint")}} - : 在关联的文档开始打印或打印预览关闭后触发。 diff --git a/files/zh-cn/web/api/htmlcanvaselement/getcontext/index.md b/files/zh-cn/web/api/htmlcanvaselement/getcontext/index.md index 116a1f1cf818e7..a95524855523ca 100644 --- a/files/zh-cn/web/api/htmlcanvaselement/getcontext/index.md +++ b/files/zh-cn/web/api/htmlcanvaselement/getcontext/index.md @@ -27,7 +27,8 @@ var ctx = canvas.getContext(contextType, contextAttributes); - "`webgl2`" (或 "`experimental-webgl2`") 这将创建一个 {{domxref("WebGL2RenderingContext")}} 三维渲染上下文对象。只在实现 [WebGL](/zh-CN/docs/Web/WebGL) 版本 2 (OpenGL ES 3.0) 的浏览器上可用。{{experimental_inline}} - `"bitmaprenderer"` 这将创建一个只提供将 canvas 内容替换为指定{{domxref("ImageBitmap")}}功能的{{domxref("ImageBitmapRenderingContext")}} 。 - > **备注:** 标识符 "`experimental-webgl`" 或 "`experimental-webgl2`" 用于新 [WebGL](/zh-CN/docs/Web/WebGL)的实现。这些实现还没有达到测试套件一致性或图形驱动程序平台局势尚不稳定。[Khronos Group](https://www.khronos.org/) 集团认证[WebGL](/zh-CN/docs/Web/WebGL) 实现在某些[一致性规则](https://www.khronos.org/registry/webgl/sdk/tests/CONFORMANCE_RULES.txt)。 + > [!NOTE] + > 标识符 "`experimental-webgl`" 或 "`experimental-webgl2`" 用于新 [WebGL](/zh-CN/docs/Web/WebGL)的实现。这些实现还没有达到测试套件一致性或图形驱动程序平台局势尚不稳定。[Khronos Group](https://www.khronos.org/) 集团认证[WebGL](/zh-CN/docs/Web/WebGL) 实现在某些[一致性规则](https://www.khronos.org/registry/webgl/sdk/tests/CONFORMANCE_RULES.txt)。 - `上下文属性 (contextAttributes)` diff --git a/files/zh-cn/web/api/htmlcanvaselement/toblob/index.md b/files/zh-cn/web/api/htmlcanvaselement/toblob/index.md index b4bcc6725d137f..4ab26af849b281 100644 --- a/files/zh-cn/web/api/htmlcanvaselement/toblob/index.md +++ b/files/zh-cn/web/api/htmlcanvaselement/toblob/index.md @@ -107,7 +107,8 @@ canvas.toBlob( ### 使用 OS.File 保存图像到本地(chrome/add-on context only) -> **备注:** 此方法可将 toBlob 生成的图片保存到本地,但仅在 Firefox、Chrome 上下文或带有相关插件的情况下可用,因为 Web 并不存在 OS API。 +> [!NOTE] +> 此方法可将 toBlob 生成的图片保存到本地,但仅在 Firefox、Chrome 上下文或带有相关插件的情况下可用,因为 Web 并不存在 OS API。 ```js const canvas = document.getElementById("canvas"); diff --git a/files/zh-cn/web/api/htmlcollection/index.md b/files/zh-cn/web/api/htmlcollection/index.md index 793df3949598af..70b611c0057b5f 100644 --- a/files/zh-cn/web/api/htmlcollection/index.md +++ b/files/zh-cn/web/api/htmlcollection/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTMLCollection **`HTMLCollection`** 接口表示一个包含了元素(元素顺序为文档流中的顺序)的通用集合(与 {{jsxref("Functions/arguments", "arguments")}} 相似的类数组 (array-like) 对象),还提供了用来从该集合中选择元素的方法和属性。 -> **备注:** 由于历史原因(DOM4 之前,实现该接口的集合只能包含 HTML 元素),该接口被称为 `HTMLCollection`。 +> [!NOTE] +> 由于历史原因(DOM4 之前,实现该接口的集合只能包含 HTML 元素),该接口被称为 `HTMLCollection`。 HTML DOM 中的 `HTMLCollection` 是即时更新的(live);当其所包含的文档结构发生改变时,它会自动更新。因此,最好是创建副本(例如,使用 {{jsxref("Array/from", "Array.from")}})后再迭代这个数组以添加、移动或删除 DOM 节点。 diff --git a/files/zh-cn/web/api/htmlelement/dir/index.md b/files/zh-cn/web/api/htmlelement/dir/index.md index ec65726ae6ed08..c22e0ab9595edf 100644 --- a/files/zh-cn/web/api/htmlelement/dir/index.md +++ b/files/zh-cn/web/api/htmlelement/dir/index.md @@ -15,7 +15,8 @@ slug: Web/API/HTMLElement/dir 当一个元素的 dir 设置为“`auto`”时,该元素的方向是根据其第一个强方向性字符决定的,或者默认为其父元素的方向性。 -> **备注:** 浏览器可能允许用户改变 {{ HTMLElement("input") }} 和 {{ HTMLElement("textarea") }} 的方向性,以协助编写内容。Chrome 和 Safari 在输入字段的上下文菜单中提供方向性选项,而 Internet Explorer 和 Edge 使用组合键 Ctrl + 左 ShiftCtrl + 右 Shift。Firefox 使用组合键 Ctrl/Cmd + Shift + X,但不更新 **`dir`** 属性值。 +> [!NOTE] +> 浏览器可能允许用户改变 {{ HTMLElement("input") }} 和 {{ HTMLElement("textarea") }} 的方向性,以协助编写内容。Chrome 和 Safari 在输入字段的上下文菜单中提供方向性选项,而 Internet Explorer 和 Edge 使用组合键 Ctrl + 左 ShiftCtrl + 右 Shift。Firefox 使用组合键 Ctrl/Cmd + Shift + X,但不更新 **`dir`** 属性值。 ## 值 diff --git a/files/zh-cn/web/api/htmlelement/hidden/index.md b/files/zh-cn/web/api/htmlelement/hidden/index.md index 8e64e4a814ee26..fa1ff3ab1b1b24 100644 --- a/files/zh-cn/web/api/htmlelement/hidden/index.md +++ b/files/zh-cn/web/api/htmlelement/hidden/index.md @@ -21,7 +21,8 @@ slug: Web/API/HTMLElement/hidden - 隐藏选项卡的对话框中的面板 - 隐藏一个演示文稿中的内容,同时又希望这个内容在其他演示文稿中是可见的 -> **备注:** Elements that are not `hidden` must not link to elements which are. +> [!NOTE] +> Elements that are not `hidden` must not link to elements which are. ## 语法 diff --git a/files/zh-cn/web/api/htmlelement/innertext/index.md b/files/zh-cn/web/api/htmlelement/innertext/index.md index 76203aefc13f7b..5aca2a1ae536e7 100644 --- a/files/zh-cn/web/api/htmlelement/innertext/index.md +++ b/files/zh-cn/web/api/htmlelement/innertext/index.md @@ -17,7 +17,8 @@ slug: Web/API/HTMLElement/innerText 如果元素本身没有[被渲染](https://html.spec.whatwg.org/multipage/rendering.html#being-rendered)(例如,从文档中分离出来或从视图中隐藏起来),返回值与 {{domxref("Node.textContent")}} 属性相同。 -> **警告:** 在一个节点上设置 `innerText` 会移除该节点的*所有*子节点,并用给定的字符串值的单一文本节点代替它们。 +> [!WARNING] +> 在一个节点上设置 `innerText` 会移除该节点的*所有*子节点,并用给定的字符串值的单一文本节点代替它们。 ## 示例 diff --git a/files/zh-cn/web/api/htmlelement/offsetheight/index.md b/files/zh-cn/web/api/htmlelement/offsetheight/index.md index b0c1e92cb336e9..56a3b35c511c84 100644 --- a/files/zh-cn/web/api/htmlelement/offsetheight/index.md +++ b/files/zh-cn/web/api/htmlelement/offsetheight/index.md @@ -13,7 +13,8 @@ slug: Web/API/HTMLElement/offsetHeight 如果元素被隐藏(例如 元素或者元素的祖先之一的元素的 style.display 被设置为 none),则返回 0 -> **备注:** 这个属性值会被四舍五入为整数值,如果你需要一个浮点数值,请用 {{ domxref("element.getBoundingClientRect()") }}. +> [!NOTE] +> 这个属性值会被四舍五入为整数值,如果你需要一个浮点数值,请用 {{ domxref("element.getBoundingClientRect()") }}. ## 语法 diff --git a/files/zh-cn/web/api/htmlelement/offsetwidth/index.md b/files/zh-cn/web/api/htmlelement/offsetwidth/index.md index 622e705e717f3e..a6a65793a94db1 100644 --- a/files/zh-cn/web/api/htmlelement/offsetwidth/index.md +++ b/files/zh-cn/web/api/htmlelement/offsetwidth/index.md @@ -15,7 +15,8 @@ var offsetWidth =element.offsetWidth; `intElemOffsetWidth` is a variable storing an integer corresponding to the `offsetWidth` pixel value of the element. `offsetWidth` 是一个只读属性。 -> **备注:** 这个属性将会 round(四舍五入) 为一个整数。如果你想要一个 fractional(小数) 值,请使用{{ domxref("element.getBoundingClientRect()") }}. +> [!NOTE] +> 这个属性将会 round(四舍五入) 为一个整数。如果你想要一个 fractional(小数) 值,请使用{{ domxref("element.getBoundingClientRect()") }}. ## 示例 diff --git a/files/zh-cn/web/api/htmlelement/outertext/index.md b/files/zh-cn/web/api/htmlelement/outertext/index.md index 0e949238ec0818..a8d9f30eabbb87 100644 --- a/files/zh-cn/web/api/htmlelement/outertext/index.md +++ b/files/zh-cn/web/api/htmlelement/outertext/index.md @@ -21,7 +21,8 @@ slug: Web/API/HTMLElement/outerText 这个例子突出了 `outerText` 和 `innerText` 在用作 setter 时的根本区别(它们用做 getter 时行为完全一致)。 -> **备注:** 这个示例是 [innerText 和 outerText 有什么区别?](https://stackoverflow.com/questions/18481382/what-is-the-difference-between-innertext-and-outertext/18481435#18481435)(Stack overflow)的修订后的版本,由 [codingintrigue](https://stackoverflow.com/users/571194/codingintrigue) 发起,基于 [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) 许可证发布。 +> [!NOTE] +> 这个示例是 [innerText 和 outerText 有什么区别?](https://stackoverflow.com/questions/18481382/what-is-the-difference-between-innertext-and-outertext/18481435#18481435)(Stack overflow)的修订后的版本,由 [codingintrigue](https://stackoverflow.com/users/571194/codingintrigue) 发起,基于 [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) 许可证发布。 考虑包含如下 HTML 代码的页面: diff --git a/files/zh-cn/web/api/htmlelement/style/index.md b/files/zh-cn/web/api/htmlelement/style/index.md index b831166ed11271..f1e7fb3e47a6a5 100644 --- a/files/zh-cn/web/api/htmlelement/style/index.md +++ b/files/zh-cn/web/api/htmlelement/style/index.md @@ -15,7 +15,8 @@ slug: Web/API/HTMLElement/style 样式声明可通过设置它为 `null` 或空字符串来重置,比如 `elt.style.color = null`。 -> **备注:** 通过这些规则,CSS 属性名称被转换为 JavaScript 标识符: +> [!NOTE] +> 通过这些规则,CSS 属性名称被转换为 JavaScript 标识符: > > - 如果属性是由一个单词组成的,则保持原样:如 `height`(也保持小写)。 > - 如果属性是由若干个单词组成的,由横线分隔,则横线被移除,并转化为*驼峰*形式:如 `background-attachment` 转换为 `backgroundAttachment`。 diff --git a/files/zh-cn/web/api/htmlformelement/elements/index.md b/files/zh-cn/web/api/htmlformelement/elements/index.md index 3b3189509c0ab7..bce3ffeda5fc4e 100644 --- a/files/zh-cn/web/api/htmlformelement/elements/index.md +++ b/files/zh-cn/web/api/htmlformelement/elements/index.md @@ -15,7 +15,8 @@ l10n: 在 HTML 5 之前,返回的对象是一个基于 `HTMLFormControlsCollection` 的 {{domxref("HTMLCollection")}}。 -> **备注:** 同样,你也可以使用文档中的 {{domxref("Document.forms", "forms")}} 属性获取给定文档中包含的所有表单的列表。 +> [!NOTE] +> 同样,你也可以使用文档中的 {{domxref("Document.forms", "forms")}} 属性获取给定文档中包含的所有表单的列表。 ## 值 diff --git a/files/zh-cn/web/api/htmlformelement/submit_event/index.md b/files/zh-cn/web/api/htmlformelement/submit_event/index.md index 817628700a84c6..36ebf27c5e94ec 100644 --- a/files/zh-cn/web/api/htmlformelement/submit_event/index.md +++ b/files/zh-cn/web/api/htmlformelement/submit_event/index.md @@ -32,7 +32,8 @@ slug: Web/API/HTMLFormElement/submit_event 当用户点击提交按钮({{HtmlElement("button")}} 或 {{HtmlElement('input/submit', '<input type="submit">')}}),亦或是在表单里输入时(e.g. {{HtmlElement('input/text', '<input type="text">')}})按下 Enter 键,`submit` 事件将会被触发。直接调用 {{domxref("HTMLFormElement.submit()", "form.submit()")}} 方法时,事件不会发送到表单。 -> **备注:** 当试图提交一个未通过[验证](/zh-CN/docs/Learn/Forms/Form_validation)的表单时,会触发 {{domxref("HTMLInputElement/invalid_event", "invalid")}} 事件。在这种情况下,表单提交将会被验证机制阻止。因此,`sumbit` 事件也就不存在了。 +> [!NOTE] +> 当试图提交一个未通过[验证](/zh-CN/docs/Learn/Forms/Form_validation)的表单时,会触发 {{domxref("HTMLInputElement/invalid_event", "invalid")}} 事件。在这种情况下,表单提交将会被验证机制阻止。因此,`sumbit` 事件也就不存在了。 ## 示例 diff --git a/files/zh-cn/web/api/htmlhtmlelement/version/index.md b/files/zh-cn/web/api/htmlhtmlelement/version/index.md index bd7364c46a8641..ca033aa13c2b07 100644 --- a/files/zh-cn/web/api/htmlhtmlelement/version/index.md +++ b/files/zh-cn/web/api/htmlhtmlelement/version/index.md @@ -9,4 +9,5 @@ slug: Web/API/HTMLHtmlElement/version 它返回有关文档的**文档类型定义(DTD)**的版本信息。尽管此属性能够被*Mozilla*识别,但此属性的返回值始终是空字符串。 -> **备注:** 此属性已被 W3C 的**HTML 4.01 技术建议**声明弃用,赞成使用 DTD 来获取文档的版本信息。 +> [!NOTE] +> 此属性已被 W3C 的**HTML 4.01 技术建议**声明弃用,赞成使用 DTD 来获取文档的版本信息。 diff --git a/files/zh-cn/web/api/htmliframeelement/allowfullscreen/index.md b/files/zh-cn/web/api/htmliframeelement/allowfullscreen/index.md index afffb87f6f5f01..309b3aaa4fbb41 100644 --- a/files/zh-cn/web/api/htmliframeelement/allowfullscreen/index.md +++ b/files/zh-cn/web/api/htmliframeelement/allowfullscreen/index.md @@ -9,7 +9,8 @@ l10n: {{domxref("HTMLIFrameElement")}} 接口的 **`allowFullscreen`** 属性是一个反映了 {{HTMLElement("iframe")}} 元素的 `allowfullscreen` 属性的布尔值,它表示 iframe 的内容是否允许使用 {{domxref("Element.requestFullscreen", "requestFullscreen()")}}。 -> **备注:** 此属性被视为遗留属性。请改用 `allow="fullscreen"` 和 {{domxref("HTMLIFrameElement.allow")}}。 +> [!NOTE] +> 此属性被视为遗留属性。请改用 `allow="fullscreen"` 和 {{domxref("HTMLIFrameElement.allow")}}。 ## 值 diff --git a/files/zh-cn/web/api/htmliframeelement/browsingtopics/index.md b/files/zh-cn/web/api/htmliframeelement/browsingtopics/index.md index c20431ed94868f..960d0060f1004e 100644 --- a/files/zh-cn/web/api/htmliframeelement/browsingtopics/index.md +++ b/files/zh-cn/web/api/htmliframeelement/browsingtopics/index.md @@ -7,7 +7,8 @@ l10n: {{APIRef("HTML DOM")}}{{SeeCompatTable}}{{non-standard_header}} -> **警告:** 此特性目前遭到两家浏览器厂商反对。有关反对详情,请参阅[标准立场](/zh-CN/docs/Web/API/Topics_API#标准立场)部分。 +> [!WARNING] +> 此特性目前遭到两家浏览器厂商反对。有关反对详情,请参阅[标准立场](/zh-CN/docs/Web/API/Topics_API#标准立场)部分。 {{domxref("HTMLIFrameElement")}} 接口的 **`browsingTopics`** 属性是一个指定当前用户选择的主题应与之关联的 {{htmlelement("iframe")}} 源请求一起以 {{httpheader("Sec-Browsing-Topics")}} 标头发送的布尔值。这反映了 `browsingtopics` HTML 属性。 diff --git a/files/zh-cn/web/api/htmliframeelement/referrerpolicy/index.md b/files/zh-cn/web/api/htmliframeelement/referrerpolicy/index.md index a7fd25571fe8d8..ed55fe8e5944e6 100644 --- a/files/zh-cn/web/api/htmliframeelement/referrerpolicy/index.md +++ b/files/zh-cn/web/api/htmliframeelement/referrerpolicy/index.md @@ -29,7 +29,8 @@ l10n: - : 当执行同源或跨源请求时发送完整的 URL。 - > **备注:** 此策略将把受 TLS 保护的资源的源和路径泄露给不安全的源。仔细考虑此设置的影响。 + > [!NOTE] + > 此策略将把受 TLS 保护的资源的源和路径泄露给不安全的源。仔细考虑此设置的影响。 ## 示例 diff --git a/files/zh-cn/web/api/htmlimageelement/image/index.md b/files/zh-cn/web/api/htmlimageelement/image/index.md index 146be0f41bd1d0..4db5660fa59be0 100644 --- a/files/zh-cn/web/api/htmlimageelement/image/index.md +++ b/files/zh-cn/web/api/htmlimageelement/image/index.md @@ -36,7 +36,8 @@ document.body.appendChild(myImage); ``` -> **备注:** 无论构造函数中指定的大小是多少,都会加载整个位图。如果在构造时指定了尺寸信息,那么将会反应在实例的 {{domxref("HTMLImageElement.width")}} 和 {{domxref("HTMLImageElement.height")}} 属性上。图像自身的 CSS 像素值将会反应在{{domxref("HTMLImageElement.naturalWidth")}} 和 {{domxref("HTMLImageElement.naturalHeight")}}属性。如果没有指定值,那么两个属性的值相同 +> [!NOTE] +> 无论构造函数中指定的大小是多少,都会加载整个位图。如果在构造时指定了尺寸信息,那么将会反应在实例的 {{domxref("HTMLImageElement.width")}} 和 {{domxref("HTMLImageElement.height")}} 属性上。图像自身的 CSS 像素值将会反应在{{domxref("HTMLImageElement.naturalWidth")}} 和 {{domxref("HTMLImageElement.naturalHeight")}}属性。如果没有指定值,那么两个属性的值相同 ## 规范 diff --git a/files/zh-cn/web/api/htmlimageelement/naturalheight/index.md b/files/zh-cn/web/api/htmlimageelement/naturalheight/index.md index e4957077ca8698..9fcf92b9726cd0 100644 --- a/files/zh-cn/web/api/htmlimageelement/naturalheight/index.md +++ b/files/zh-cn/web/api/htmlimageelement/naturalheight/index.md @@ -9,7 +9,8 @@ slug: Web/API/HTMLImageElement/naturalHeight 这是图像在没有限制其高度的情况下绘制的高度;如果你没有为图像指定高度,或者将图像放置在限制或明确指定图像高度的容器中,它将被渲染为如此高。 -> **备注:** 大多数时候自然高度是服务器发送的图像的实际高度。不过,浏览器可以在将图像推送到渲染器之前对其进行修改。例如,Chrome 会[降低低端设备上图像的分辨率](https://bugs.chromium.org/p/chromium/issues/detail?id=1187043#c7)。在这种情况下,`naturalHeight` 会将浏览器干预修改的图像高度视为自然高度,并返回该值。 +> [!NOTE] +> 大多数时候自然高度是服务器发送的图像的实际高度。不过,浏览器可以在将图像推送到渲染器之前对其进行修改。例如,Chrome 会[降低低端设备上图像的分辨率](https://bugs.chromium.org/p/chromium/issues/detail?id=1187043#c7)。在这种情况下,`naturalHeight` 会将浏览器干预修改的图像高度视为自然高度,并返回该值。 ## 值 diff --git a/files/zh-cn/web/api/htmlinputelement/webkitdirectory/index.md b/files/zh-cn/web/api/htmlinputelement/webkitdirectory/index.md index 35d9167eb6e441..47cc45ed272a4d 100644 --- a/files/zh-cn/web/api/htmlinputelement/webkitdirectory/index.md +++ b/files/zh-cn/web/api/htmlinputelement/webkitdirectory/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTMLInputElement/webkitdirectory **`HTMLInputElement.webkitdirectory`** 是一个反应了 HTML 属性 [`webkitdirectory`](/zh-CN/docs/Web/HTML/Element/input/file#webkitdirectory) 的属性,其指示 {{HTMLElement("input")}} 元素应该让用户选择文件目录而非文件。在选择文件目录后,该目录及其整个内容层次结构将包含在所选项目集内。可以使用 {{domxref("HTMLInputElement.webkitEntries", "webkitEntries")}} 属性获取选定的文件系统条目。 -> **备注:** 该属性在规范中被称为 `webkitEntries` 的原因是,其起源于 Google Chrome 特定的 API。它有可能会被重命名。 +> [!NOTE] +> 该属性在规范中被称为 `webkitEntries` 的原因是,其起源于 Google Chrome 特定的 API。它有可能会被重命名。 ## 值 @@ -46,7 +47,8 @@ slug: Web/API/HTMLInputElement/webkitdirectory 如果用户选择了 `PhotoAlbums`,则文件列表上将会包含上面列出的每个文件(而不包含目录)的 {{domxref("File")}} 对象。条目 `PIC2343.jpg` 的 `webkitRelativePath` 属性值将会是 `PhotoAlbums/Birthdays/Don's 40th birthday/PIC2343.jpg`。即使 {{domxref("FileList")}} 是扁平的,这也使得知道层次结构成为可能。 -> **备注:** 在 _Chromium < 72_ 的版本中,`webkitRelativePath` 的行为表现有所不同。有关更多详细信息,请参见[此 bug](https://crbug.com/124187)。 +> [!NOTE] +> 在 _Chromium < 72_ 的版本中,`webkitRelativePath` 的行为表现有所不同。有关更多详细信息,请参见[此 bug](https://crbug.com/124187)。 ## 示例 diff --git a/files/zh-cn/web/api/htmlmediaelement/autoplay/index.md b/files/zh-cn/web/api/htmlmediaelement/autoplay/index.md index 9f147271ac0817..4a6d5ee2ea9f96 100644 --- a/files/zh-cn/web/api/htmlmediaelement/autoplay/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/autoplay/index.md @@ -11,7 +11,8 @@ l10n: 如果媒体元素的源是 {{domxref("MediaStream")}} 且其 `autoplay` 属性为 `true`,则该元素在激活时(即 {{domxref("MediaStream.active")}} 为 `true`)将开始播放。 -> **备注:** 自动播放音频(或带音轨的视频)的网站会给用户带来不愉快的体验,因此应尽量避免。如果你必须提供自动播放特性,则应使其成为选择性特性(要求用户明确启用)。然而,当创建媒体元素并在稍后由用户控制其源时,自动播放可能会很有用。 +> [!NOTE] +> 自动播放音频(或带音轨的视频)的网站会给用户带来不愉快的体验,因此应尽量避免。如果你必须提供自动播放特性,则应使其成为选择性特性(要求用户明确启用)。然而,当创建媒体元素并在稍后由用户控制其源时,自动播放可能会很有用。 有关自动播放、自动播放阻止以及当自动播放被用户的浏览器阻止时如何响应的深入介绍,请参阅我们的文章[媒体和 Web Audio API 的自动播放指南](/zh-CN/docs/Web/Media/Autoplay_guide)。 @@ -19,7 +20,8 @@ l10n: 布尔值,如果媒体元素在加载足够的内容以允许无中断播放时将立即开始播放,则为 `true`。 -> **备注:** 一些浏览器为用户提供了覆盖 `autoplay` 的特性,以防止未经许可或在后台播放具有干扰性的音频或视频。不要依赖于 `autoplay` 自动开始播放,而是使用 {{domxref("HTMLMediaElement.play_event", 'play')}} 事件。 +> [!NOTE] +> 一些浏览器为用户提供了覆盖 `autoplay` 的特性,以防止未经许可或在后台播放具有干扰性的音频或视频。不要依赖于 `autoplay` 自动开始播放,而是使用 {{domxref("HTMLMediaElement.play_event", 'play')}} 事件。 ## 示例 diff --git a/files/zh-cn/web/api/htmlmediaelement/buffered/index.md b/files/zh-cn/web/api/htmlmediaelement/buffered/index.md index 2f1078626b1a64..52af8b514cf59b 100644 --- a/files/zh-cn/web/api/htmlmediaelement/buffered/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/buffered/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTMLMediaElement/buffered **`HTMLMediaElement.buffered`** 返回一个只读 {{domxref("TimeRanges")}} 对象 返回媒体已缓冲的区域 -> **备注:** This feature is not available in [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API). +> [!NOTE] +> This feature is not available in [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API). ## 语法 diff --git a/files/zh-cn/web/api/htmlmediaelement/canplaytype/index.md b/files/zh-cn/web/api/htmlmediaelement/canplaytype/index.md index f72bead1eb4afb..bcc571e6dfb3b2 100644 --- a/files/zh-cn/web/api/htmlmediaelement/canplaytype/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/canplaytype/index.md @@ -7,7 +7,8 @@ slug: Web/API/HTMLMediaElement/canPlayType **`HTMLMediaElement.canPlayType()`** 方法会判断传递的媒体格式参数是否能够被播放。 -> **备注:** This feature is not available in [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API). +> [!NOTE] +> This feature is not available in [Web Workers](/zh-CN/docs/Web/API/Web_Workers_API). ## 语法 @@ -28,7 +29,8 @@ str = audioOrVideo.canPlayType(mediaType); - `'maybe'`: 不能告诉你这种媒体文件是否能被播放,直到你尝试播放它。 - `''` (empty string): 这种媒体文件不能被播放。 -> **备注:** 以前 `canPlayType('video/webm')` 会返回 `'probably'。`从 Gecko 28 开始,将返回 `'maybe'`。 ([Firefox bug 884275](https://bugzil.la/884275)) +> [!NOTE] +> 以前 `canPlayType('video/webm')` 会返回 `'probably'。`从 Gecko 28 开始,将返回 `'maybe'`。 ([Firefox bug 884275](https://bugzil.la/884275)) ## 示例 diff --git a/files/zh-cn/web/api/htmlmediaelement/currenttime/index.md b/files/zh-cn/web/api/htmlmediaelement/currenttime/index.md index 84cb0616d3cf17..2d3d13bdd95ea0 100644 --- a/files/zh-cn/web/api/htmlmediaelement/currenttime/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/currenttime/index.md @@ -5,7 +5,8 @@ slug: Web/API/HTMLMediaElement/currentTime {{APIRef("HTML DOM")}}**`HTMLMediaElement.currentTime`** 属性会以秒为单位返回当前媒体元素的播放时间。设置这个属性会改变媒体元素当前播放位置。 -> **备注:** 该处原文:The **`HTMLMediaElement.currentTime`** property gives the current playback time in seconds. Setting this value seeks the media to the new time. +> [!NOTE] +> 该处原文:The **`HTMLMediaElement.currentTime`** property gives the current playback time in seconds. Setting this value seeks the media to the new time. ## 语法 diff --git a/files/zh-cn/web/api/htmlmediaelement/ended_event/index.md b/files/zh-cn/web/api/htmlmediaelement/ended_event/index.md index a2f071054c149a..e952b282e7bb75 100644 --- a/files/zh-cn/web/api/htmlmediaelement/ended_event/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/ended_event/index.md @@ -38,7 +38,8 @@ slug: Web/API/HTMLMediaElement/ended_event -> **备注:** 该事件也在[媒体捕捉与媒体流](/zh-CN/docs/Web/API/Media_Capture_and_Streams_API)和 [Web Audio](/zh-CN/docs/Web/API/Web_Audio_API) 这两个 API 中定义。 +> [!NOTE] +> 该事件也在[媒体捕捉与媒体流](/zh-CN/docs/Web/API/Media_Capture_and_Streams_API)和 [Web Audio](/zh-CN/docs/Web/API/Web_Audio_API) 这两个 API 中定义。 ## 示例 diff --git a/files/zh-cn/web/api/htmlmediaelement/loadeddata_event/index.md b/files/zh-cn/web/api/htmlmediaelement/loadeddata_event/index.md index 5532be20856805..cdc071e6662081 100644 --- a/files/zh-cn/web/api/htmlmediaelement/loadeddata_event/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/loadeddata_event/index.md @@ -38,7 +38,8 @@ slug: Web/API/HTMLMediaElement/loadeddata_event -> **备注:** 若在移动/平板设备的浏览器设置中开启了流量节省(data-saver)模式,该事件则不会被触发。 +> [!NOTE] +> 若在移动/平板设备的浏览器设置中开启了流量节省(data-saver)模式,该事件则不会被触发。 ## 示例 diff --git a/files/zh-cn/web/api/htmlmediaelement/play/index.md b/files/zh-cn/web/api/htmlmediaelement/play/index.md index c757de7223159d..07c3238b8caf82 100644 --- a/files/zh-cn/web/api/htmlmediaelement/play/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/play/index.md @@ -21,7 +21,8 @@ let promise = HTMLMediaElement.play(); 一个 {{jsxref("Promise")}},当媒体成功开始播放时被解决,当播放因为任何原因失败时则被被拒绝。 -> **备注:** 旧版本的浏览器可能不会从 `play()` 返回值。 +> [!NOTE] +> 旧版本的浏览器可能不会从 `play()` 返回值。 ### 异常 @@ -84,7 +85,8 @@ function handlePlayButton() { {{Specifications}} -> **备注:** WHATWG 版本和 W3C 版本的规范不一样(2016 年 4 月 20 日),一个返回 {{jsxref("Promise")}},一个不返回。 +> [!NOTE] +> WHATWG 版本和 W3C 版本的规范不一样(2016 年 4 月 20 日),一个返回 {{jsxref("Promise")}},一个不返回。 ## 浏览器兼容性 diff --git a/files/zh-cn/web/api/htmlmediaelement/src/index.md b/files/zh-cn/web/api/htmlmediaelement/src/index.md index e9b4384b7356d6..0ffc751eee6594 100644 --- a/files/zh-cn/web/api/htmlmediaelement/src/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/src/index.md @@ -5,7 +5,8 @@ slug: Web/API/HTMLMediaElement/src {{APIRef("HTML DOM")}}**`HTMLMediaElement.src`**属性反映 HTML 媒体元素的`src` 属性的值,该属性指示要在元素中使用的媒体资源的 URL。 -> **备注:** 了解此元素中当前正在使用的媒体资源的 URL 的最佳方法是查看 {{domxref("HTMLMediaElement.currentSrc", "currentSrc")}}属性的值,该属性还考虑从 {{domxref("HTMLSourceElement")}} (代表 {{HTMLElement("source")}} 元素) 中提供的列表中选择最佳或首选媒体资源 +> [!NOTE] +> 了解此元素中当前正在使用的媒体资源的 URL 的最佳方法是查看 {{domxref("HTMLMediaElement.currentSrc", "currentSrc")}}属性的值,该属性还考虑从 {{domxref("HTMLSourceElement")}} (代表 {{HTMLElement("source")}} 元素) 中提供的列表中选择最佳或首选媒体资源 ## Syntax diff --git a/files/zh-cn/web/api/htmlmediaelement/srcobject/index.md b/files/zh-cn/web/api/htmlmediaelement/srcobject/index.md index 201d21d11336ee..ec582bef614c55 100644 --- a/files/zh-cn/web/api/htmlmediaelement/srcobject/index.md +++ b/files/zh-cn/web/api/htmlmediaelement/srcobject/index.md @@ -11,7 +11,8 @@ l10n: 该对象可以是一个 {{domxref("MediaStream")}}、一个 {{domxref("MediaSource")}}、一个 {{domxref("Blob")}} 或者一个 {{domxref("File")}} 类型(该类型继承自 `Blob`)。 -> **备注:** 截至 2020 年 3 月,仅有 Safari 浏览器完全支持 `srcObject`,只能使用 `MediaSource`、`MediaStream`、`Blob` 和 `File` 对象作为其值。其他浏览器仅支持 `MediaStream` 对象;在它们跟进支持之前,可以考虑回退到使用 {{domxref("URL.createObjectURL_static", "URL.createObjectURL()")}} 来创建 URL,并将其赋给 {{domxref("HTMLMediaElement.src")}}(下文会有示例)。另外,自 108 版本起,Chromium 支持通过将从 worker 传输过来的 `MediaSource` 对象的 {{domxref("MediaSourceHandle")}} 实例赋值给 `srcObject`,来连接一个专用 worker。 +> [!NOTE] +> 截至 2020 年 3 月,仅有 Safari 浏览器完全支持 `srcObject`,只能使用 `MediaSource`、`MediaStream`、`Blob` 和 `File` 对象作为其值。其他浏览器仅支持 `MediaStream` 对象;在它们跟进支持之前,可以考虑回退到使用 {{domxref("URL.createObjectURL_static", "URL.createObjectURL()")}} 来创建 URL,并将其赋给 {{domxref("HTMLMediaElement.src")}}(下文会有示例)。另外,自 108 版本起,Chromium 支持通过将从 worker 传输过来的 `MediaSource` 对象的 {{domxref("MediaSourceHandle")}} 实例赋值给 `srcObject`,来连接一个专用 worker。 ## 值 diff --git a/files/zh-cn/web/api/htmltableelement/index.md b/files/zh-cn/web/api/htmltableelement/index.md index 312b2cfa169174..079976c34e013b 100644 --- a/files/zh-cn/web/api/htmltableelement/index.md +++ b/files/zh-cn/web/api/htmltableelement/index.md @@ -26,7 +26,8 @@ _继承自父接口,{{DOMxRef("HTMLElement")}}。_ ### 过时的属性 -> **警告:** 以下属性已经过时,应当避免使用它们。 +> [!WARNING] +> 以下属性已经过时,应当避免使用它们。 - {{DOMxRef("HTMLTableElement.align")}} {{Deprecated_Inline}} - : Is a {{DOMxRef("DOMString")}} containing an enumerated value reflecting the [`align`](/zh-CN/docs/Web/HTML/Element/table#align) attribute. It indicates the alignment of the element's contents with respect to the surrounding context. The possible values are `"left"`, `"right"`, and `"center"`. diff --git a/files/zh-cn/web/api/idbcursor/direction/index.md b/files/zh-cn/web/api/idbcursor/direction/index.md index 7e2fa4b558e508..f68367206eecd8 100644 --- a/files/zh-cn/web/api/idbcursor/direction/index.md +++ b/files/zh-cn/web/api/idbcursor/direction/index.md @@ -32,7 +32,8 @@ cursor.direction; prev ``` -> **备注:** 我们不能改变游标的取值,因为这是个只读属性;应该在{{domxref("IDBObjectStore.openCursor")}}方法调用的第二个参数指定游标遍历的方向; +> [!NOTE] +> 我们不能改变游标的取值,因为这是个只读属性;应该在{{domxref("IDBObjectStore.openCursor")}}方法调用的第二个参数指定游标遍历的方向; 使用游标遍历数据时,可以不需要我们指定在特定字段选择数据;我们可以直接获取所有数据,同时在每次循环迭代过程当中,我们可以通过 cursor.value.foo 获取数据,如下是一个完整的游标遍历数据的例子; [IDBCursor example](https://github.com/mdn/dom-examples/tree/main/indexeddb-examples/idbcursor) ([view example live](https://mdn.github.io/dom-examples/indexeddb-examples/idbcursor/)). diff --git a/files/zh-cn/web/api/idbcursor/index.md b/files/zh-cn/web/api/idbcursor/index.md index 9d2377f256cb9f..5c3d114f97b5a7 100644 --- a/files/zh-cn/web/api/idbcursor/index.md +++ b/files/zh-cn/web/api/idbcursor/index.md @@ -37,7 +37,8 @@ slug: Web/API/IDBCursor {{deprecated_header}} -> **警告:** 这些常量不再被支持。你应该使用字符串常量。([Firefox bug 891944](https://bugzil.la/891944)) +> [!WARNING] +> 这些常量不再被支持。你应该使用字符串常量。([Firefox bug 891944](https://bugzil.la/891944)) - `NEXT`: `"next"` :游标展示所有记录,包括重复的记录。它从主键区间下届开始逐步上升(按键的顺序单调递增)。 - `NEXTUNIQUE` : `"nextunique"` : 游标展示所有记录,不包括重复的记录。如果同一个主键存在重复的记录,只有第一条迭代记录被取出。它从主键区间的下界开始逐步上升 diff --git a/files/zh-cn/web/api/idbdatabase/index.md b/files/zh-cn/web/api/idbdatabase/index.md index 81592c8ce74c7e..ab1aaee4569781 100644 --- a/files/zh-cn/web/api/idbdatabase/index.md +++ b/files/zh-cn/web/api/idbdatabase/index.md @@ -9,9 +9,11 @@ IndexedDB 中的 **`IDBDatabase`** 接口提供一个到 [数据库的连接](/z {{AvailableInWorkers}} -> **备注:** 在 IndexedDB 中所做的所有事情总是发生在[事务](/zh-CN/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#gloss_transaction)的上下文中,表示与数据库中的数据的交互。IndexedDB 中的所有对象——包括对象存储、索引和游标——都与特定事务绑定。因此,在事务之外你不能执行命令、访问数据或打开任何东西。 +> [!NOTE] +> 在 IndexedDB 中所做的所有事情总是发生在[事务](/zh-CN/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#gloss_transaction)的上下文中,表示与数据库中的数据的交互。IndexedDB 中的所有对象——包括对象存储、索引和游标——都与特定事务绑定。因此,在事务之外你不能执行命令、访问数据或打开任何东西。 -> **备注:** 请注意,从 Firefox 40 开始,IndexedDB 事务具有宽松的持久性保证以提高性能(请参阅[bug 1112702](https://bugzilla.mozilla.org/show_bug.cgi?id=1112702))以前在`readwrite`事务中[`IDBTransaction.oncomplete`](/zh-CN/docs/Web/API/IDBTransaction/oncomplete)被触发只有当所有数据都保证已刷新到磁盘时。在 Firefox 40+ 中,`complete`事件在操作系统被告知写入数据之后被触发,但可能在该数据实际上被刷新到磁盘之前。该`complete`因此,事件可以比以前更快地传递,但是,如果操作系统崩溃或者在将数据刷新到磁盘之前系统电源丢失,则整个事务将丢失的可能性很小。由于这种灾难性事件很少见,大多数消费者不应该进一步关注自己。如果由于某种原因必须确保持久性(例如,你要存储以后无法重新计算的关键数据),则可以`complete`通过使用实验(非标准)`readwriteflush`模式创建事务来强制事务在传递事件之前刷新到磁盘(请参阅[`IDBDatabase.transaction`](/zh-CN/docs/Web/API/IDBDatabase/transaction))。 +> [!NOTE] +> 请注意,从 Firefox 40 开始,IndexedDB 事务具有宽松的持久性保证以提高性能(请参阅[bug 1112702](https://bugzilla.mozilla.org/show_bug.cgi?id=1112702))以前在`readwrite`事务中[`IDBTransaction.oncomplete`](/zh-CN/docs/Web/API/IDBTransaction/oncomplete)被触发只有当所有数据都保证已刷新到磁盘时。在 Firefox 40+ 中,`complete`事件在操作系统被告知写入数据之后被触发,但可能在该数据实际上被刷新到磁盘之前。该`complete`因此,事件可以比以前更快地传递,但是,如果操作系统崩溃或者在将数据刷新到磁盘之前系统电源丢失,则整个事务将丢失的可能性很小。由于这种灾难性事件很少见,大多数消费者不应该进一步关注自己。如果由于某种原因必须确保持久性(例如,你要存储以后无法重新计算的关键数据),则可以`complete`通过使用实验(非标准)`readwriteflush`模式创建事务来强制事务在传递事件之前刷新到磁盘(请参阅[`IDBDatabase.transaction`](/zh-CN/docs/Web/API/IDBDatabase/transaction))。 ## 方法 diff --git a/files/zh-cn/web/api/idbfactory/open/index.md b/files/zh-cn/web/api/idbfactory/open/index.md index cd6c160f67482a..731a19bf287d02 100644 --- a/files/zh-cn/web/api/idbfactory/open/index.md +++ b/files/zh-cn/web/api/idbfactory/open/index.md @@ -63,7 +63,8 @@ var request = window.indexedDB.open("toDoList", { - options (version and storage) {{ NonStandardBadge() }} - : In Gecko, since [version 26](/zh-CN/Firefox/Releases/26), you can include an `options` object as a parameter of {{ domxref("IDBFactory.open") }} that contains the `version` number of the database, plus a storage value that specifies whether you want to use `permanent` (the default value) storage for the IndexedDB, or `temporary` storage (aka shared pool.) See [Firefox bug 785884](https://bugzil.la/785884) for more details. This is a non-standard feature that we are looking to standardise sometime in the future. -> **备注:** Data in temporary storage persists until the global limit for the pool is reached. The global limit calculation is relatively complex, but we are considering changing it (see [Firefox bug 968272](https://bugzil.la/968272)). When the global limit is reached, then data for the least recently used origin is deleted. There's also a group limit (eTLD+1 group/domain) which is currently 20% of the global limit. All requets that would exceed the group limit are just rejected. +> [!NOTE] +> Data in temporary storage persists until the global limit for the pool is reached. The global limit calculation is relatively complex, but we are considering changing it (see [Firefox bug 968272](https://bugzil.la/968272)). When the global limit is reached, then data for the least recently used origin is deleted. There's also a group limit (eTLD+1 group/domain) which is currently 20% of the global limit. All requets that would exceed the group limit are just rejected. ## 返回