cros-data
Version:
cross domian localstorage
38 lines (35 loc) • 9.51 kB
HTML
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>cors-data</title>
<meta name="description" content="一个跨域共享localstorage的库,API支持Promise,支持权限配置">
<link rel="preload" href="/assets/css/0.styles.bd479351.css" as="style"><link rel="preload" href="/assets/js/app.2c7a37c4.js" as="script"><link rel="preload" href="/assets/js/2.10fc1d59.js" as="script"><link rel="preload" href="/assets/js/5.c3f4674f.js" as="script"><link rel="prefetch" href="/assets/js/3.419108df.js"><link rel="prefetch" href="/assets/js/4.c4832647.js"><link rel="prefetch" href="/assets/js/6.eb5caba8.js"><link rel="prefetch" href="/assets/js/7.22a7ad20.js"><link rel="prefetch" href="/assets/js/8.1c9e0161.js">
<link rel="stylesheet" href="/assets/css/0.styles.bd479351.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">cors-data</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link router-link-exact-active router-link-active">首页</a></div><div class="nav-item"><a href="/guide/" class="nav-link">指南</a></div><div class="nav-item"><a href="https://github.com/loujohn/cros-data" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link router-link-exact-active router-link-active">首页</a></div><div class="nav-item"><a href="/guide/" class="nav-link">指南</a></div><div class="nav-item"><a href="https://github.com/loujohn/cros-data" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav> <!----> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><!----> <h1 id="main-title">cors-data</h1> <p class="description">
一个跨域共享localstorage的库,API支持Promise,支持权限配置
</p> <p class="action"><a href="/readme.html" class="nav-link action-button">开始使用 →</a></p></header> <div class="features"><div class="feature"><h2>TypeScript</h2> <p>TypeScript编写</p></div><div class="feature"><h2>Promise支持</h2> <p>promise</p></div><div class="feature"><h2>支持权限配置</h2> <p>支持权限配置</p></div></div> <div class="theme-default-content custom content__default"><p>跨域共享 LocalStorage,采用 TypeScript 编写,支持权限控制、Promise 化接口。</p> <h3 id="概览"><a href="#概览" class="header-anchor">#</a> 概览</h3> <p>cros-data 是共享 cookie 的替代方法。与 cookie 不同,您的客户端数据不再限于 4KB,您可以获取大约 5M 数据内容(根据不同的浏览器大小不同)。对于客户端数据量较大的应用程序,可以避免使用 cookie,可以减小请求头的大小。这一切都要归功于 LocalStorage,它可以在 IE 8 +,FF 3.5 +,Chrome 4+和大多数移动浏览器中使用。有关兼容浏览器的列表,请参见 <a href="https://caniuse.com/#feat=namevalue-storage" target="_blank" rel="noopener noreferrer">caniuse<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>。</p> <p>该库分为两种类型的组件:数据中心 和 客户端。该库分为两种类型的组件:数据中心嵌入到每个页面,并直接与 LocalStorage API 交互。然后,客户端将这数据中心通过 iframe 的方式嵌入并发布消息,以请求存储,检索和删除数据。这允许多个客户端访问和共享位于单个存储中的数据。</p> <p>应该注意相互通信的起源。在初始化数据中心时应该传递一组权限对象,使其来自与不信任来源的消息及不被允许的方法被忽略。但是需要注意的是,用户依然可以完全控制本地数据,因为数据来源与本地存储,该库只是在应用程序上控制访问。</p> <h4 id="数据中心"><a href="#数据中心" class="header-anchor">#</a> 数据中心</h4> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">let</span> hub <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">crosData<span class="token punctuation">.</span>Hub</span><span class="token punctuation">(</span><span class="token punctuation">[</span>
<span class="token punctuation">{</span>
origin<span class="token punctuation">:</span> <span class="token regex">/.*localhost:1000\d$/</span><span class="token punctuation">,</span>
allow<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">"get"</span><span class="token punctuation">,</span> <span class="token string">"set"</span><span class="token punctuation">,</span> <span class="token string">"del"</span><span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h4 id="客户端"><a href="#客户端" class="header-anchor">#</a> 客户端</h4> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">let</span> client <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">crosData<span class="token punctuation">.</span>Client</span><span class="token punctuation">(</span><span class="token string">"http://localhost:10002/hub.html"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
client<span class="token punctuation">.</span><span class="token function">set</span><span class="token punctuation">(</span><span class="token string">"token"</span><span class="token punctuation">,</span> <span class="token number">1234</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">then</span><span class="token punctuation">(</span><span class="token parameter">res</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>res<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="安装"><a href="#安装" class="header-anchor">#</a> 安装</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 安装</span>
<span class="token function">npm</span> <span class="token function">install</span> -s cros-data 或者 <span class="token function">yarn</span> <span class="token function">add</span> -s cros-data
</code></pre></div></div> <div class="footer">
ISC Licensed | Copyright © 2019-present LouJohn
</div></main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.2c7a37c4.js" defer></script><script src="/assets/js/2.10fc1d59.js" defer></script><script src="/assets/js/5.c3f4674f.js" defer></script>
</body>
</html>