Skip to content

Web API ​

重要通知

。

基本概况 ​

存储对象 ​

Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加、删除、修改、查询操作。

  • localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

DOMParser ​

DOMParser 可以将存储在字符串中的 XML 或 HTML 源代码解析为一个 DOM Document。

  • DOMParser.parseFromString(string, mimeType)
const domParser = new DOMParser();
const doc = domparser.parseFromString(
  string, // 要解析的 DOMString。它必须包含 HTML、xml、xhtml+xml 或 svg 文档。
  mimeType // 一个 DOMString。这个字符串决定方法返回值的类。
);

mimeType类型 ​

----------------------------------------------------------------------------------
  mimeType	                  doc.constructor
----------------------------------------------------------------------------------
  text/html	                  Document
  text/xml	                  XMLDocument
  application/xml	            XMLDocument
  application/xhtml+xml	      XMLDocument
  image/svg+xml	              XMLDocument
----------------------------------------------------------------------------------

错误处理 ​

如果解析失败, 不会抛出任何异常,而是会返回一个给定的错误文档:DOMParser

<parsererror xmlns="http://www.mozilla.org/newlayout/xml/parsererror.xml">
(error description)
<sourcetext>(a snippet of the source XML)</sourcetext>
</parsererror>

DOMParser HTML 扩展 ​

/*
 * DOMParser HTML extension
 * 2012-09-04
 *
 * By Eli Grey, http://eligrey.com
 * Public domain.
 * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
 */

/*! @source https://gist.github.com/1129031 */
/*global document, DOMParser*/

(function (DOMParser) {
  "use strict";

  var proto = DOMParser.prototype,
    nativeParse = proto.parseFromString;

  // Firefox/Opera/IE throw errors on unsupported types
  try {
    // WebKit returns null on unsupported types
    if (new DOMParser().parseFromString("", "text/html")) {
      // text/html parsing is natively supported
      return;
    }
  } catch (ex) {}

  proto.parseFromString = function (markup, type) {
    if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
      var doc = document.implementation.createHTMLDocument("");
      if (markup.toLowerCase().indexOf("<!doctype") > -1) {
        doc.documentElement.innerHTML = markup;
      } else {
        doc.body.innerHTML = markup;
      }
      return doc;
    } else {
      return nativeParse.apply(this, arguments);
    }
  };
})(DOMParser);

剪贴板 Clipboard API ​

剪贴板 Clipboard API 提供了响应剪贴板命令(剪切、复制和粘贴)与异步读写系统剪贴板的能力。从权限 Permissions API 获取权限之后,才能访问剪贴板内容;如果用户没有授予权限,则不允许读取或更改剪贴板内容。

​

​

​

​

​

​

​

Released under the MIT License.