48 lines
24 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>使用指南 | ZiuChen</title>
<meta name="description" content="Unlimited Progress.">
<link rel="preload stylesheet" href="/assets/style.ec1c8c15.css" as="style">
<script type="module" src="/assets/app.499ce9ef.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.9b71bc06.js">
<link rel="modulepreload" href="/assets/chunks/theme.35023a02.js">
<link rel="modulepreload" href="/assets/project_ClipboardManager_guide_index.md.3c3d400d.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-9d158fda><!--[--><!--]--><!--[--><span tabindex="-1" data-v-204cb7b1></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-204cb7b1> Skip to content </a><!--]--><!----><!----><div class="VPLocalNav fixed reached-top" data-v-9d158fda data-v-5d953687><!----><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-5d953687 data-v-989d74b8><button data-v-989d74b8>Return to top</button><!----></div></div><!----><div class="VPContent" id="VPContent" data-v-9d158fda data-v-585eef7d><div class="VPDoc" data-v-585eef7d data-v-a686a8a6><!--[--><!--]--><div class="container" data-v-a686a8a6><!----><div class="content" data-v-a686a8a6><div class="content-container" data-v-a686a8a6><!--[--><!--]--><!----><main class="main" data-v-a686a8a6><div style="position:relative;" class="vp-doc _project_ClipboardManager_guide_" data-v-a686a8a6><div><h1 id="使用指南" tabindex="-1">使用指南 <a class="header-anchor" href="#使用指南" aria-label="Permalink to &quot;使用指南&quot;"></a></h1><h2 id="二进制监听程序在-macos-的特殊配置" tabindex="-1">二进制监听程序在 MacOS 的特殊配置 <a class="header-anchor" href="#二进制监听程序在-macos-的特殊配置" aria-label="Permalink to &quot;二进制监听程序在 MacOS 的特殊配置&quot;"></a></h2><p>针对<code>MacOS</code>系统,在将剪贴板监听程序拷贝到指定目录后,请在重启插件后,检查监听程序是否生效</p><p>如果监听程序未生效,可能是:</p><ol><li>需要下载对应芯片的监听程序</li><li>需要对程序进行签名与授权</li></ol><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>适配了Apple M1芯片的监听程序 <a href="https://github.com/wangyw6716/clipboard-event-handler-mac-apple-silicon-arm64-M1" target="_blank" rel="noreferrer">clipboard-event-handler-mac-apple-silicon-arm64-M1</a></p><p>由于此仓库不在超级剪贴板开发者维护范围内,请自行承担文件安全性带来的风险。</p></div><p><strong>1. 签名</strong></p><p>打开终端输入以下命令</p><div class="language-sh vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#B392F0;">sudo</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">codesign</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">--force</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">--deep</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">--sign</span><span style="color:#E1E4E8;"> </span><span style="color:#9ECBFF;">-</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6F42C1;">sudo</span><span style="color:#24292E;"> </span><span style="color:#032F62;">codesign</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">--force</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">--deep</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">--sign</span><span style="color:#24292E;"> </span><span style="color:#032F62;">-</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><p><img src="/assets/sign-mac.2c3e272f.png" alt=""></p><p>然后将此目录中的<code>clipboard-event-handler-mac</code>文件拖入终端执行命令</p><p><img src="/assets/sign-mac-2.5861d44c.png" alt=""></p><p><strong>2. 授权</strong></p><p>左上角🍎 / 系统偏好设置 / 安全性与隐私 / 通用 / 点击允许</p><p><img src="/assets/mac-chmod.bf888724.jpg" alt=""></p><h2 id="如何创造自己的功能按钮" tabindex="-1">如何创造自己的功能按钮 <a class="header-anchor" href="#如何创造自己的功能按钮" aria-label="Permalink to &quot;如何创造自己的功能按钮&quot;"></a></h2><p>超级剪贴板为用户提供了自定义功能按钮的能力</p><p>这让<code>超级剪贴板</code>真正变得“超级”起来,用户可以通过编写<code>json</code>实现<strong>携带数据跳转到任何其他插件</strong>,这项功能给<code>超级剪贴板</code>带来了无限可能。</p><p>插件中,默认内置了若干使用样例:</p><ul><li>讯飞OCR识别</li><li>百度搜索</li><li>百度识图</li><li>统计文本字数</li><li>颜色管理</li><li>识别图片中二维码</li><li>上传到图床</li><li>翻译</li></ul><p>下面我将从这些样例出发对这项功能做简单介绍:</p><p>这项功能的原理是<code>utools.redirect()</code>,在不分离插件的情况下,在不同插件之间的跳转体验是连贯的。</p><p><code>百度搜索</code>为例,是通过<code>网页快开</code>提供的关键词实现的我们可以编写以下json</p><div class="language-json vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">{</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;id&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;custom.1663490859&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;title&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;百度搜索&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;icon&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;🔍&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;match&quot;</span><span style="color:#E1E4E8;">: [</span><span style="color:#9ECBFF;">&quot;text&quot;</span><span style="color:#E1E4E8;">],</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;command&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;redirect:百度一下&quot;</span></span>
<span class="line"><span style="color:#E1E4E8;">}</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">{</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;id&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;custom.1663490859&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;title&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;百度搜索&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;icon&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;🔍&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;match&quot;</span><span style="color:#24292E;">: [</span><span style="color:#032F62;">&quot;text&quot;</span><span style="color:#24292E;">],</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;command&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;redirect:百度一下&quot;</span></span>
<span class="line"><span style="color:#24292E;">}</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>可以实现从剪贴板直接跳转到<code>网页快开</code>,也即打开百度并搜索当前选中的文本内容。</p><p>除了使用简单的字符串匹配不同的内容,<code>超级剪贴板</code>还支持使用正则表达式,以<code>上传到图床</code>功能为例:</p><div class="language-json vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">{</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;id&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;custom.1663490864&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;title&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;上传到图床&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;icon&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;🚀&quot;</span><span style="color:#E1E4E8;">,</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;match&quot;</span><span style="color:#E1E4E8;">: [</span><span style="color:#9ECBFF;">&quot;image&quot;</span><span style="color:#E1E4E8;">, { </span><span style="color:#79B8FF;">&quot;type&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;file&quot;</span><span style="color:#E1E4E8;">, </span><span style="color:#79B8FF;">&quot;regex&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;.(?:jpg|jpeg|png)$&quot;</span><span style="color:#E1E4E8;"> }],</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">&quot;command&quot;</span><span style="color:#E1E4E8;">: </span><span style="color:#9ECBFF;">&quot;redirect:上传到图床&quot;</span></span>
<span class="line"><span style="color:#E1E4E8;">}</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">{</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;id&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;custom.1663490864&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;title&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;上传到图床&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;icon&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;🚀&quot;</span><span style="color:#24292E;">,</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;match&quot;</span><span style="color:#24292E;">: [</span><span style="color:#032F62;">&quot;image&quot;</span><span style="color:#24292E;">, { </span><span style="color:#005CC5;">&quot;type&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;file&quot;</span><span style="color:#24292E;">, </span><span style="color:#005CC5;">&quot;regex&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;.(?:jpg|jpeg|png)$&quot;</span><span style="color:#24292E;"> }],</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">&quot;command&quot;</span><span style="color:#24292E;">: </span><span style="color:#032F62;">&quot;redirect:上传到图床&quot;</span></span>
<span class="line"><span style="color:#24292E;">}</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示<code>上传到图床</code>按钮,携带数据跳转到图床插件,一键上传。</p><p>需要注意的是,因为自定义功能按钮实现的是<strong>携带数据跳转不同插件</strong>,所以<code>redirect</code>后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是<code>文本</code>/<code>图片</code>/<code>文件或文件夹</code></p><p><img src="/assets/gi4.e4051a3e.png" alt=""><img src="/assets/gi5.f517b425.png" alt=""></p><ul><li><code>id</code>: <code>String</code> 全局唯一 必须以<code>custom</code>开头 建议以时间戳为后缀</li><li><code>title</code>: <code>String</code> 鼠标悬停时展示的文本</li><li><code>icon</code>: <code>String</code> 展示在插件内的图标</li><li><code>match</code>: <code>&lt;String | Object&gt;[]</code> 匹配模式</li><li><code>command</code>: <code>String</code> 执行跳转的关键字 前缀<code>redirect:</code>是必须的</li></ul><p>在未来的版本更新中,<code>超级剪贴板</code>将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。</p></div></div></main><footer class="VPDocFooter" data-v-a686a8a6 data-v-0b8e2cba><!--[--><!--]--><div class="edit-info" data-v-0b8e2cba><div class="edit-link" data-v-0b8e2cba><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/project/ClipboardManager/guide/index.md" target="_blank" rel="noreferrer" data-v-0b8e2cba><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-0b8e2cba><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page on GitHub<!--]--></a></div><div class="last-updated" data-v-0b8e2cba><p class="VPLastUpdated" data-v-0b8e2cba data-v-a6f11a31>Updated Date: <time datetime="2024-01-06T06:57:39.000Z" data-v-a6f11a31></time></p></div></div><nav class="prev-next" data-v-0b8e2cba><div class="pager" data-v-0b8e2cba><!----></div><div class="pager" data-v-0b8e2cba><a class="pager-link next" href="/project/ClipboardManager/" data-v-0b8e2cba><span class="desc" data-v-0b8e2cba>Next page</span><span class="title" data-v-0b8e2cba>超级剪贴板</span></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter" data-v-9d158fda data-v-2c80950a><div class="container" data-v-2c80950a><p class="message" data-v-2c80950a>Released under the MIT License.</p><p class="copyright" data-v-2c80950a>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"index.md\":\"48a36636\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"13ed773f\",\"article_一文读懂事件冒泡与事件捕获.md\":\"d1929e50\",\"article_深入理解浏览器缓存机制.md\":\"69e6a2c6\",\"article_一文读懂函数中this指向问题.md\":\"28d5e9b4\",\"article_深入javascript数据类型.md\":\"477ee358\",\"note_css.md\":\"fbe56ac3\",\"article_深入理解浏览器运行原理.md\":\"a9684ca4\",\"note_redux.md\":\"02de7bbe\",\"project_smartwordbreak_index.md\":\"66a30ca5\",\"note_javascript.md\":\"45a113ba\",\"article_【快手】深入理解前端面试题.md\":\"d44b9955\",\"article_【字节跳动】前端面试题总结.md\":\"30e03a5f\",\"article_【用友金融】前端面试题总结.md\":\"6d315a97\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"70bae50e\",\"article_一文读懂伪类与伪元素.md\":\"68cce63a\",\"article_从0实现一个年度报告.md\":\"175c992f\",\"article_深入理解proxy与reflect.md\":\"fdad28fc\",\"project_jsrunner_log_index.md\":\"5b2edea9\",\"note_react router.md\":\"8d4994d8\",\"project_clipboardmanager_statement_index.md\":\"158b6468\",\"project_jsrunner_index.md\":\"d62a7429\",\"project_markdown_index.md\":\"5a93c50a\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"dd1797c0\",\"project_clipboardmanager_log_index.md\":\"30d348e4\",\"project_clipboardmanager_index.md\":\"a4052946\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"dd182e72\",\"project_smartwordbreak_log_index.md\":\"6c6fe4e0\",\"project_smartwordbreak_statement_index.md\":\"33bd8d5d\",\"note_mysql.md\":\"45f0f4c7\",\"works_contribution.md\":\"997cb34f\",\"works_opensource.md\":\"db24f357\",\"project_markdown_shortcut_index.md\":\"90359831\",\"project_clipboardmanager_guide_index.md\":\"3c3d400d\",\"project_markdown_log_index.md\":\"bb95b786\",\"note_front-end engineering.md\":\"75c88456\",\"note_ssr.md\":\"ee0ee312\",\"self_index.md\":\"82f653ee\",\"note_react hooks.md\":\"7a05a70a\",\"note_react.md\":\"f9ad4dc2\",\"note_javascriptenhanced.md\":\"f1655783\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ZiuChen\",\"description\":\"Unlimited Progress.\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级分词\",\"link\":\"/project/SmartWordBreak/\"}]},{\"text\":\"开源作品\",\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/opensource\"},{\"text\":\"社区贡献\",\"link\":\"/works/contribution\"}]},{\"text\":\"学习笔记\",\"items\":[{\"text\":\"JavaScript基础\",\"link\":\"/note/JavaScript\"},{\"text\":\"CSS基础\",\"link\":\"/note/CSS\"},{\"text\":\"JavaScript进阶\",\"link\":\"/note/JavaScriptEnhanced\"},{\"text\":\"前端工程化\",\"link\":\"/note/Front-end Engineering\"},{\"text\":\"服务端渲染\",\"link\":\"/note/SSR\"},{\"text\":\"React基础\",\"link\":\"/note/React\"},{\"text\":\"React Hooks\",\"link\":\"/note/React Hooks\"},{\"text\":\"Redux\",\"link\":\"/note/Redux\"},{\"text\":\"React Router\",\"link\":\"/note/React Router\"},{\"text\":\"MySQL\",\"link\":\"/note/MySQL\"}]},{\"text\":\"个人介绍\",\"link\":\"/self/\"}],\"sidebar\":[{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级分词\",\"link\":\"/project/SmartWordBreak/\"}]},{\"text\":\"开源作品\",\"collapsed\":true,\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/opensource\"},{\"text\":\"社区贡献\",\"link\":\"/works/contribution\"}]},{\"text\":\"文章归档\",\"collapsed\":true,\"items\":[{\"text\":\"【2023】青训营 - 前端练习题汇总解析\",\"link\":\"/article/【2023】青训营 - 前端练习题汇总解析\"},{\"text\":\"【字节跳动】前端面试题总结\",\"link\":\"/article/【字节跳动】前端面试题总结\"},{\"text\":\"【快手】深入理解前端面试题\",\"link\":\"/article/【快手】深入理解前端面试题\"},{\"text\":\"【用友金融】前端面试题总结\",\"link\":\"/article/【用友金融】前端面试题总结\"},{\"text\":\"一文读懂事件冒泡与事件捕获\",\"link\":\"/article/一文读懂事件冒泡与事件捕获\"},{\"text\":\"一文读懂伪类与伪元素\",\"link\":\"/article/一文读懂伪类与伪元素\"},{\"text\":\"一文读懂函数中this指向问题\",\"link\":\"/article/一文读懂函数中this指向问题\"},{\"text\":\"从0实现一个年度报告\",\"link\":\"/article/从0实现一个年度报告\"},{\"text\":\"彻底搞懂对象的数据属性描述符、存储属性描述符\",\"link\":\"/article/彻底搞懂对象的数据属性描述符、存储属性描述符\"},{\"text\":\"浅析defineProperty与Proxy实现的双向绑定\",\"link\":\"/article/浅析defineProperty与Proxy实现的双向绑定\"},{\"text\":\"深入JavaScript数据类型\",\"link\":\"/article/深入JavaScript数据类型\"},{\"text\":\"深入Vue3源码看看Vue.use后究竟发生了什么\",\"link\":\"/article/深入Vue3源码看看Vue.use后究竟发生了什么\"},{\"text\":\"深入理解Proxy与Reflect\",\"link\":\"/article/深入理解Proxy与Reflect\"},{\"text\":\"深入理解浏览器缓存机制\",\"link\":\"/article/深入理解浏览器缓存机制\"},{\"text\":\"深入理解浏览器运行原理\",\"link\":\"/article/深入理解浏览器运行原理\"}]},{\"text\":\"学习笔记\",\"collapsed\":true,\"items\":[{\"text\":\"JavaScript基础\",\"link\":\"/note/JavaScript\"},{\"text\":\"CSS基础\",\"link\":\"/note/CSS\"},{\"text\":\"JavaScript进阶\",\"link\":\"/note/JavaScriptEnhanced\"},{\"text\":\"前端工程化\",\"link\":\"/note/Front-end Engineering\"},{\"text\":\"服务端渲染\",\"link\":\"/note/SSR\"},{\"text\":\"React基础\",\"link\":\"/note/React\"},{\"text\":\"React Hooks\",\"link\":\"/note/React Hooks\"},{\"text\":\"Redux\",\"link\":\"/note/Redux\"},{\"text\":\"React Router\",\"link\":\"/note/React Router\"},{\"text\":\"MySQL\",\"link\":\"/note/MySQL\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/ZiuChen\"},{\"icon\":{\"svg\":\"<svg width=\\\"36\\\" height=\\\"28\\\" viewBox=\\\"0 0 36 28\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z\\\" fill=\\\"#1E80FF\\\"/></svg>\"},\"link\":\"https://juejin.cn/user/1887205216238477\"}],\"editLink\":{\"pattern\":\"https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2019-present Ziu Chen\"},\"lastUpdatedText\":\"Updated Date\",\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"LFZ2CPWWUG\",\"apiKey\":\"b4fd296ea5e467b3ac4a582160ff3122\",\"indexName\":\"ziuchenio\"}}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}");</script>
</body>
</html>