<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/s/350/</link>
<title><![CDATA[ 允许Chrome浏览器，请求内网资源地址，避免跨域问题]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[浏览器相关]]></category>
<pubDate>Thu, 23 Apr 2026 00:54:28 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/350/</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;允许Chrome浏览器，请求内网资源地址，如JSONP等</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>chrome.exe&nbsp;--disable-features=BlockInsecurePrivateNetworkRequests&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/349/</link>
<title><![CDATA[jpgjpeg有什么区别]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[技术分类]]></category>
<pubDate>Thu, 03 Jul 2025 01:04:48 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/349/</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;</p><p><img src="/attachment/2025/07/image/2025-07-03_085647.png" width="1061" height="921" alt="" /></p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/348/</link>
<title><![CDATA[字符串遍历拼接、字符串局部清除、字符串局部插入，等逻辑]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Tue, 24 Dec 2024 11:57:56 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/348/</guid> 
<description>
<![CDATA[ 
	<div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/*** 清空指定字符串之间的内容(包括起始字符) ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> deleteBetweenCharacters(str, startChar, endChar) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(startChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(endChar) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 起始替换逻辑 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;let startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;let endIndex = str.indexOf(endChar);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">while</span><span> (startIndex !== -1 &amp;&amp; endIndex !== -1) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = str.substring(0, startIndex) + str.substring(endIndex + 1);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endIndex = str.indexOf(endChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> str;&nbsp;&nbsp;</span></span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 向字符串指定位置插入字符(业务标记符) ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> insertString(str, insertStr, index) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(insertStr) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(index) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> str.slice(0, index) + insertStr + str.slice(index);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/*** 业务处理主函数 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> main (str, startChar, endChar, itemNames) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 容错处理 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (</span><span class="keyword">typeof</span><span>(str) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(startChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(endChar) == </span><span class="string">'undefined'</span><span> &#124;&#124;&nbsp;&nbsp; </span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">typeof</span><span>(itemNames) == </span><span class="string">'undefined'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> newStrData = str;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> startIndex = str.indexOf(startChar);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 如果是首次出现 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (str.indexOf(</span><span class="string">'--'</span><span>) == -1) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = insertString(newStrData, <span class="string">'--'</span><span>, startIndex);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*** 调用清除方法 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let data = deleteBetweenCharacters(str, startChar, endChar);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let replacedStr = data? data.replace(/--/g, itemNames) : <span class="string">''</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> replacedStr;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span><span class="comment">// 示例用法</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="comment">// const inputString = &quot;This is 【some】 example 【string】 with 【special】 characters.&quot;;</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="comment">// const str = main(inputString, &quot;【&quot;, &quot;】&quot;)</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="comment">// console.log(str);</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/*** 业务源数据 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>let dataList = [&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red1'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【高压电池包】【高压电池包】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 2, name: <span class="string">'sese'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 1, name: <span class="string">'red'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#123;idStorage: 3, name: <span class="string">'bbbd'</span><span>, riskItem: </span><span class="string">''</span><span>, suggest: </span><span class="string">'建议核实【】实际配件价格，剔除多定金额。'</span><span>&#125;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;];&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 拼接字符串小模板(备用) ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>let itemNames = <span class="string">'【'</span><span> + dataList.filter(item =&gt; item.idStorage === 1).map(item =&gt; item.name).join(</span><span class="string">'】【'</span><span>) + </span><span class="string">'】'</span><span>;&nbsp;&nbsp;</span></span></li><li><span>console.log(<span class="string">'itemNames'</span><span>, itemNames)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/*** 拷贝源数据备用 ***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> arr = JSON.parse(JSON.stringify(dataList))&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">for</span><span> (</span><span class="keyword">var</span><span> i = 0; i &lt; arr.length; i++) &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> (arr[i].idStorage == 1) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i].suggest = main(arr[i].suggest, <span class="string">&quot;【&quot;</span><span>, </span><span class="string">&quot;】&quot;</span><span>, itemNames)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>console.log(<span class="string">'arr'</span><span>, arr)&nbsp;&nbsp;</span></span></li></ol></div><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">const</span><span>&nbsp;inputString&nbsp;=&nbsp;</span><span class="string">&quot;This&nbsp;is&nbsp;【some】&nbsp;example&nbsp;【string】&nbsp;with&nbsp;【special】&nbsp;characters.&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">const</span><span>&nbsp;str&nbsp;=&nbsp;deleteBetweenCharacters(inputString,&nbsp;</span><span class="string">&quot;【&quot;</span><span>,&nbsp;</span><span class="string">&quot;】&quot;</span><span>)&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(str);&nbsp;&nbsp;</span></li><li><span>//This&nbsp;is&nbsp;&nbsp;example&nbsp;&nbsp;<span class="keyword">with</span><span>&nbsp;&nbsp;characters.&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/347/</link>
<title><![CDATA[JS时间格式排序]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Tue, 17 Dec 2024 14:15:27 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/347/</guid> 
<description>
<![CDATA[ 
	<div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/**</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@description&nbsp;2.根据日期时间混合排序</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*&nbsp;@param&nbsp;&#123;Object[]&#125;&nbsp;dataList&nbsp;-&nbsp;要排序的数组</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@param&nbsp;&#123;string&#125;&nbsp;property&nbsp;-&nbsp;传入需要排序的字段</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*&nbsp;@param&nbsp;&#123;boolean&#125;&nbsp;bol&nbsp;-&nbsp;true:&nbsp;升序；false:&nbsp;降序；默认为true&nbsp;升序</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@return&nbsp;&#123;Object[]&#125;&nbsp;dataList&nbsp;-&nbsp;返回改变完顺序的数组</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span>&nbsp;dateSort(dataList,&nbsp;property,&nbsp;bol&nbsp;=&nbsp;</span><span class="keyword">true</span><span>)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;dataList.sort(<span class="keyword">function</span><span>&nbsp;(a,&nbsp;b)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(bol)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;return&nbsp;a[property].localeCompare(b[property]);&nbsp;//&nbsp;升序</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;Date.parse(a[property])&nbsp;-&nbsp;Date.parse(b[property]);&nbsp;&nbsp;</span><span class="comment">//&nbsp;升序</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;<span class="keyword">else</span><span>&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;return&nbsp;b[property].localeCompare(a[property]);&nbsp;//&nbsp;降序</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;Date.parse(b[property])&nbsp;-&nbsp;Date.parse(a[property]);&nbsp;&nbsp;</span><span class="comment">//&nbsp;降序</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&#125;)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;dataList;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>let&nbsp;arrList&nbsp;=&nbsp;[&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;id:&nbsp;1,&nbsp;name:&nbsp;<span class="string">'test1'</span><span>,&nbsp;score:&nbsp;99,&nbsp;dateTime:&nbsp;</span><span class="string">'2024-03-25&nbsp;13:51:03'</span><span>&nbsp;&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;id:&nbsp;2,&nbsp;name:&nbsp;<span class="string">'test2'</span><span>,&nbsp;score:&nbsp;89,&nbsp;dateTime:&nbsp;</span><span class="string">'2024-03-24&nbsp;23:01:52'</span><span>&nbsp;&#125;,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;id:&nbsp;3,&nbsp;name:&nbsp;<span class="string">'test3'</span><span>,&nbsp;score:&nbsp;102,&nbsp;dateTime:&nbsp;</span><span class="string">'2024-03-15&nbsp;01:51:12'</span><span>&nbsp;&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;id:&nbsp;4,&nbsp;name:&nbsp;<span class="string">'test4'</span><span>,&nbsp;score:&nbsp;100,&nbsp;dateTime:&nbsp;</span><span class="string">'2024-03-23&nbsp;10:30:39'</span><span>&nbsp;&#125;,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;id:&nbsp;5,&nbsp;name:&nbsp;<span class="string">'test5'</span><span>,&nbsp;score:&nbsp;111,&nbsp;dateTime:&nbsp;</span><span class="string">'2024-03-23&nbsp;11:21:42'</span><span>&nbsp;&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li><li><span><span class="comment">//&nbsp;console.log('升序：',&nbsp;dateSort(arrList,&nbsp;'dateTime'));&nbsp;//&nbsp;升序</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(<span class="string">'降序：'</span><span>,&nbsp;dateSort(arrList,&nbsp;</span><span class="string">'dateTime'</span><span>,&nbsp;</span><span class="keyword">false</span><span>));&nbsp;</span><span class="comment">//&nbsp;降序</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;<img src="/attachment/2024/12/image/2024-12-17_221432.png" width="1089" height="236" alt="" /></p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/346/</link>
<title><![CDATA[Dioxus由DioxusLabs开发的全栈应用框架 旨在简化跨平台应用的开发]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[PHP/Java/Go]]></category>
<pubDate>Tue, 10 Dec 2024 09:14:59 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/346/</guid> 
<description>
<![CDATA[ 
	<p>Dioxus是一个现代的、轻量级的、用于构建跨平台UI的库，灵感来源于React。它以其高性能、简洁的API和丰富的生态系统，为开发者提供了一种高效开发原生应用的新方式。</p><div>&nbsp;</div><div><strong>项目简介</strong></div><div>Dioxus的核心目标是为移动应用、Web应用、桌面应用以及服务器端渲染提供一致性的开发体验。使用Rust编程语言编写，它提供了与React类似的语法和概念，但利用了Rust的强大功能，如类型安全和编译时检查，从而在性能上取得显著优势。</div><div>&nbsp;</div><div><strong>技术分析</strong></div><div>Dioxus的架构基于组件模型，允许开发者以声明式的方式创建可复用的UI元素。与React类似，它使用虚拟DOM来减少对实际DOM的操作，不过Dioxus进一步优化，通过Rust的静态分析能力避免了不必要的更新，实现了更快的渲染速度。</div><div>&nbsp;</div><div>此外，Dioxus还支持SSR（Server-Side Rendering）和SSG（Static Site Generation），并可以无缝地与WebAssembly集成，这使得它能够被广泛应用于Web开发和后端渲染场景。</div><div>&nbsp;</div><div><strong>应用场景</strong></div><div>移动应用开发：Dioxus提供了一套完整的工具链，让你可以用Rust直接开发iOS和Android应用。</div><div>Web应用：你可以创建高效的单页应用，并受益于Rust的安全性和性能。</div><div>桌面应用：借助Electron或其它桌面应用框架，Dioxus可以轻松构建桌面应用。</div><div>服务器渲染：对于SEO友好的网站或者需要快速首屏加载的应用，Dioxus的SSR功能非常实用。</div><div>&nbsp;</div><div><strong>特点</strong></div><div>高性能：Rust的零成本抽象和编译时优化，使Dioxus的性能远超传统的JavaScript解决方案。</div><div>类型安全：利用Rust的类型系统，Dioxus确保代码在运行前无类型错误，提高了软件的稳定性。</div><div>简洁API：Dioxus的API设计借鉴了React，对熟悉React的开发者来说，学习曲线较平缓。</div><div>跨平台兼容：一套代码，多平台运行，大大提高了开发效率。</div><div>强大的社区支持：Dioxus拥有活跃的开发者社区，不断推出新的库和工具，丰富生态体系。</div><div>&nbsp;</div><div><div>快速使用指南</div><div>安装 CLI 工具：首先，安装 Dioxus 提供的 CLI 工具。可以通过以下命令进行安装：</div><div>cargo install dioxus-cli</div><div>&nbsp;</div><div>创建新项目：使用 CLI 工具创建一个新的 Dioxus 项目：</div><div>dioxus new my_project</div><div>&nbsp;</div><div>运行开发服务器：进入项目目录并启动开发服务器：</div><div>cd my_project dioxus serve</div><div>&nbsp;</div><div>编写代码：在 src 目录下编写你的应用代码。Dioxus 使用类似 JSX 的语法，使得编写 UI 代码变得简单直观。</div><div>&nbsp;</div><div>打包和部署：当应用开发完成后，可以使用以下命令进行打包和部署：</div><div>dioxus bundle --release</div><div>&nbsp;</div><div>通过以上步骤，你可以快速上手 Dioxus 并开始构建跨平台应用。Dioxus 的高性能、易用性和强大的功能使其成为现代应用开发的理想选择。</div><div>&nbsp;</div></div><div>&nbsp;</div><div><strong>结论</strong></div><div>如果你正在寻找一种能够提升应用性能，同时保持开发效率的技术栈，Dioxus值得你尝试。其结合了React的易用性和Rust的高性能，为开发者带来前所未有的开发体验。无论是新项目还是现有项目的重构，Dioxus都能作为一个强大且灵活的选择。</div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/345/</link>
<title><![CDATA[chrome 公网地址页面，无法访问内网地址图片及接口解决方法]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[浏览器相关]]></category>
<pubDate>Thu, 14 Nov 2024 10:37:03 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/345/</guid> 
<description>
<![CDATA[ 
	<div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>地址栏输入：chrome:</span><span class="comment">//flags/，回车。搜索找到Block insecure private network requests，设置禁用（Disabled），然后重启浏览器即可</span><span>&nbsp;&nbsp;</span></span></li></ol></div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/344/</link>
<title><![CDATA[fetch获取wasm模块实例]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Thu, 14 Nov 2024 03:18:52 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/344/</guid> 
<description>
<![CDATA[ 
	<p>fetch获取wasm模块实例</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/*** 完整的实例 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>fetch(<span class="string">&quot;/pkg/wasm-lib/wasm_lib_bg.wasm&quot;</span><span>)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;.then((response) =&gt; response.arrayBuffer())&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;.then(bytes =&gt; &#123;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> module = </span><span class="keyword">new</span><span> WebAssembly.Module(bytes);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> imports = &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;__wbindgen_init_externref_table&quot;</span><span>: ()=&gt; &#123;&#125;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> instance = </span><span class="keyword">new</span><span> WebAssembly&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Instance(module, &#123; wbg: imports&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(instance.exports.add(1,2));&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;)&nbsp;&nbsp;</span></li></ol></div><p>axios获取wasm模块实例</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/***&nbsp;请求.wasm文件流&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">this</span><span>.$store.dispatch(</span><span class="string">&quot;test/getWasmStream&quot;</span><span>,&#123;&#125;).then(async&nbsp;(res)&nbsp;=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;WebAssembly.compile(res.data).then(module&nbsp;=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;使用编译好的模块</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;打印静态属性</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;imports&nbsp;=&nbsp;WebAssembly.Module.imports(module);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;exports&nbsp;=&nbsp;WebAssembly.Module.exports(module);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;strJSON&nbsp;=&nbsp;JSON.stringify(&#123;</span><span class="string">&quot;imports&quot;</span><span>:imports,&nbsp;</span><span class="string">&quot;exports&quot;</span><span>:exports&#125;,&nbsp;</span><span class="keyword">null</span><span>,&nbsp;2)&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(<span class="string">'strJSON'</span><span>,&nbsp;strJSON)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;imports&nbsp;=&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;__wbindgen_init_externref_table&quot;</span><span>:&nbsp;()=&gt;&nbsp;&#123;&#125;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***&nbsp;使用WASM模块(运行实例)&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;instance&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;WebAssembly.Instance(module,&nbsp;&#123;wbg:&nbsp;imports&#125;)&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//console.log(instance.exports.add(3,6))</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.exports&nbsp;=&nbsp;instance.exports;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;).<span class="keyword">catch</span><span>(error&nbsp;=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.error(error);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;).<span class="keyword">catch</span><span>((error)=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;console.log(<span class="string">'Action&nbsp;failed'</span><span>,&nbsp;error);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;);&nbsp;&nbsp;</span></li></ol></div><p>loadWebAssemblyModule.js 封装</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/*</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@Description:&nbsp;loadWebAssemblyModule.js</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*&nbsp;@Version:&nbsp;1.0</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@Author:&nbsp;Jesse&nbsp;Liu</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*&nbsp;@Date:&nbsp;2022-11-14&nbsp;10:32:06</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*&nbsp;@LastEditors:&nbsp;Jesse&nbsp;Liu</span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;*&nbsp;@LastEditTime:&nbsp;2024-11-14&nbsp;10:55:25</span>&nbsp;</span></li><li><span><span class="comment">&nbsp;*/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/***&nbsp;AJAX加载WASM模块的函数&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">const</span><span>&nbsp;getWebAssemblyModule&nbsp;=&nbsp;(url)&nbsp;=&gt;&nbsp;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***&nbsp;返回一个Promise&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Promise(</span><span class="keyword">function</span><span>(resolve,&nbsp;reject)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;xhr&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;XMLHttpRequest();&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.open(<span class="string">'GET'</span><span>,&nbsp;url,&nbsp;</span><span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.responseType&nbsp;=&nbsp;<span class="string">'arraybuffer'</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.onload&nbsp;=&nbsp;<span class="keyword">function</span><span>()&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(xhr.status&nbsp;===&nbsp;200)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;加载成功，编译WASM模块</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;arrayBuffer&nbsp;=&nbsp;xhr.response;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebAssembly.compile(arrayBuffer).then(<span class="keyword">function</span><span>(module)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resolve(module);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;).<span class="keyword">catch</span><span>(</span><span class="keyword">function</span><span>(error)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reject(error);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;<span class="keyword">else</span><span>&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;出错了</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reject(<span class="keyword">new</span><span>&nbsp;Error(</span><span class="string">'Error&nbsp;loading&nbsp;WASM&nbsp;module:&nbsp;'</span><span>&nbsp;+&nbsp;xhr.statusText));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.send();&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/***&nbsp;fetch加载WASM模块的函数&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">const</span><span>&nbsp;fetchWebAssemblyModule&nbsp;=&nbsp;(url)&nbsp;=&gt;&nbsp;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***&nbsp;返回一个Promise&nbsp;***/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">new</span><span>&nbsp;Promise(</span><span class="keyword">function</span><span>(resolve,&nbsp;reject)&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fetch(url)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.then((response)&nbsp;=&gt;&nbsp;response.arrayBuffer())&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.then(bytes&nbsp;=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;module&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;WebAssembly.Module(bytes);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resolve(module);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;)&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<span class="keyword">catch</span><span>(error&nbsp;=&gt;&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.error(<span class="string">'Fetch&nbsp;错误:'</span><span>,&nbsp;error)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reject(error);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;);&nbsp;&nbsp;</span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="keyword">export</span><span>&nbsp;&#123;&nbsp;fetchWebAssemblyModule,&nbsp;getWebAssemblyModule&nbsp;&#125;;&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p><p>&nbsp;</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/Emscripten/</link>
<title><![CDATA[centos 安装 Emscripten]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Linux/Unix]]></category>
<pubDate>Fri, 08 Nov 2024 07:53:05 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/Emscripten/</guid> 
<description>
<![CDATA[ 
	<p><strong>centos 安装 Emscripten</strong></p><div>在CentOS上安装Emscripten需要几个步骤。以下是基本的安装指南：</div><div>&nbsp;</div><div>更新系统包：</div><div>&nbsp;</div><div><strong><span style="color: rgb(128, 0, 0);">sudo yum update</span></strong></div><div>安装Emscripten需要的依赖项：</div><div>&nbsp;</div><div><span style="color: rgb(128, 0, 0);"><strong>sudo yum install git clang make python nodejs</strong></span></div><div>获取Emscripten源代码：</div><div>&nbsp;</div><div><strong><span style="color: rgb(128, 0, 0);">git clone https://github.com/emscripten-core/emsdk.git</span></strong></div><div>进入emsdk目录并安装最新的Emscripten SDK：</div><div>&nbsp;</div><div><strong><span style="color: rgb(128, 0, 0);">cd emsdk</span></strong></div><div><strong><span style="color: rgb(128, 0, 0);">./emsdk install latest</span></strong></div><div>激活安装的SDK：</div><div>&nbsp;</div><div><strong><span style="color: rgb(128, 0, 0);">./emsdk activate latest</span></strong></div><div>加载Emscripten环境变量，可以将以下命令加入到你的.bashrc或.bash_profile中，以便在每个新的终端会话中自动设置环境变量：</div><div>&nbsp;</div><div><strong><span style="color: rgb(128, 0, 0);">source ./emsdk_env.sh</span></strong></div><div>完成以上步骤后，Emscripten应该就安装并配置好了。</div><div>&nbsp;</div><div>可以通过运行<strong>emcc --version</strong>来检查是否安装成功。</div><div>&nbsp;</div><div><div>[root@localhost emsdk]# <span style="color: rgb(128, 0, 0);"><strong>emcc --version</strong></span></div><div>shared:INFO: (Emscripten: Running sanity checks)</div><div>emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.71 (4171ae200b77a6c266b0e1ebb507d61d1ade3501)</div><div>Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt)</div><div>This is free and open source software under the MIT license.</div><div>There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</div></div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/342/</link>
<title><![CDATA[安装Rust]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[Linux/Unix]]></category>
<pubDate>Fri, 08 Nov 2024 07:50:14 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/342/</guid> 
<description>
<![CDATA[ 
	<p><span style="box-sizing: border-box; outline: 0px; font-weight: 700; font-synthesis-style: auto; overflow-wrap: break-word; color: rgb(77, 77, 77); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures;">Rust 是一种系统级编程语言，旨在提供高性能和内存安全，同时避免常见的编程错误。</span><br style="box-sizing: border-box; outline: 0px; font-synthesis-style: auto; overflow-wrap: break-word; color: rgb(77, 77, 77); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures;" /><span style="color: rgb(77, 77, 77); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; font-size: 16px; font-variant-ligatures: no-common-ligatures;">由 Mozilla Research 推出，Rust 自推出以来因其独特的设计理念和强大的功能而在开发者社区中迅速获得了广泛的关注和采用。</span></p><p>安装命令：</p><p><span style="color: rgb(128, 0, 0);"><strong>curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs &#124; sh</strong></span></p><p>分解说明：</p><p>curl：这是一个用于在命令行下传输数据的工具，支持多种协议（如 HTTP、HTTPS、FTP 等）。</p><p>--proto '=https'：指定只允许使用 HTTPS 协议进行传输，确保数据传输的安全性。</p><p>--tlsv1.2：强制 curl 使用 TLS 1.2 协议，这是一种安全的传输层协议。</p><p>-s：静默模式（silent），在执行过程中不会显示进度条或错误信息。</p><p>-Sf：</p><p>-S：当使用 -s（静默模式）时，-S 可以让 curl 在发生错误时仍然显示错误信息。</p><p>-f：如果服务器返回一个错误状态码（如 404），curl 会失败并返回一个错误，而不是输出错误页面的内容。</p><p>https://sh.rustup.rs：这是 Rust 官方提供的安装脚本的 URL。</p><p>&#124; sh：管道符号（&#124;）将前一个命令（curl）的输出传递给后一个命令（sh）。也就是说，下载的安装脚本将直接由 sh（shell）执行。</p><p>整体作用：</p><p>这个命令通过安全的 HTTPS 连接下载 Rust 的安装脚本，并立即在您的终端中执行该脚本，以便安装 Rust 编程语言及其工具链。</p><p>&nbsp;</p><p>输出解释</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>info: downloading installer&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>Welcome to Rust!&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>This will download and install the official compiler <span class="keyword">for</span><span> the Rust&nbsp;&nbsp;</span></span></li><li><span>programming language, and its package manager, Cargo.&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>Rustup metadata and toolchains will be installed into the Rustup&nbsp;&nbsp;</span></li><li class="alt"><span>home directory, located at:&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;/home/jjmczd/.rustup&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>This can be modified with the RUSTUP_HOME environment variable.&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>The Cargo home directory <span class="keyword">is</span><span> located at:&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;/home/jjmczd/.cargo&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>This can be modified with the CARGO_HOME environment variable.&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>The cargo, rustc, rustup and other commands will be added to&nbsp;&nbsp;</span></li><li><span>Cargo's bin directory, located at:&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;/home/jjmczd/.cargo/bin&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>This path will then be added to your PATH environment variable by&nbsp;&nbsp;</span></li><li class="alt"><span>modifying the profile files located at:&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;/home/jjmczd/.profile&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;/home/jjmczd/.bashrc&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>You can uninstall at any time with rustup self uninstall and&nbsp;&nbsp;</span></li><li class="alt"><span>these changes will be reverted.&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>Current installation options:&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp; <span class="keyword">default</span><span> host triple: x86_64-unknown-linux-gnu&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">default</span><span> toolchain: stable (</span><span class="keyword">default</span><span>)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; profile: <span class="keyword">default</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;modify PATH variable: yes&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>1) Proceed with standard installation (<span class="keyword">default</span><span> - just press enter)&nbsp;&nbsp;</span></span></li><li class="alt"><span>2) Customize installation&nbsp;&nbsp;</span></li><li><span>3) Cancel installation&nbsp;&nbsp;</span></li></ol></div><p>逐行解释：</p><p>info: downloading installer</p><p>解释：安装程序正在下载过程中。</p><p>Welcome to Rust!</p><p>解释：欢迎使用 Rust！</p><p>接下来的几行</p><p>解释：这些行说明了安装过程将会下载和安装 Rust 官方编译器（rustc）以及其包管理器（Cargo）。</p><p>Rustup metadata and toolchains will be installed into the Rustup home directory, located at:</p><p>解释：Rustup 的元数据和工具链将被安装到指定的 Rustup 主目录中，默认路径为 /home/jjmczd/.rustup。您可以通过设置 RUSTUP_HOME 环境变量来修改此路径。</p><p>The Cargo home directory is located at:</p><p>解释：Cargo 的主目录位于 /home/jjmczd/.cargo。同样，您可以通过设置 CARGO_HOME 环境变量来修改此路径。</p><p>The cargo, rustc, rustup and other commands will be added to Cargo's bin directory, located at:</p><p>解释：cargo、rustc、rustup 以及其他相关命令将被添加到 Cargo 的 bin 目录中，即 /home/jjmczd/.cargo/bin。</p><p>This path will then be added to your PATH environment variable by modifying the profile files located at:</p><p>解释：安装程序会将上述 bin 目录路径添加到您的 PATH 环境变量中，这通过修改您的 shell 配置文件（如 /home/jjmczd/.profile 和 /home/jjmczd/.bashrc）来实现。这样，您可以在任何终端会话中直接运行 Rust 的命令。</p><p>You can uninstall at any time with rustup self uninstall and these changes will be reverted.</p><p>解释：如果您在任何时候想要卸载 Rust，可以运行 rustup self uninstall 命令，这将撤销所有安装的更改。</p><p>Current installation options:</p><p>解释：当前的安装选项如下：</p><p>default host triple: x86_64-unknown-linux-gnu</p><p>解释：默认的主机三元组（host triple）是 x86_64-unknown-linux-gnu，表示安装的是适用于 64 位 Linux 系统的 Rust 工具链。</p><p>default toolchain: stable (default)</p><p>解释：默认的工具链是 stable 版本，这是 Rust 的稳定版本，适合大多数用户和生产环境使用。</p><p>profile: default</p><p>解释：使用的是默认的安装配置文件，包含基本的组件和设置。</p><p>modify PATH variable: yes</p><p>解释：安装程序将修改您的 PATH 环境变量，以便您可以在终端中直接使用 Rust 的命令。</p><p>安装选项菜单：</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>1) Proceed with standard installation (</span><span class="keyword">default</span><span> - just press enter)&nbsp;&nbsp;</span></span></li><li><span>2) Customize installation&nbsp;&nbsp;</span></li><li class="alt"><span>3) Cancel installation&nbsp;&nbsp;</span></li></ol></div><div><div>1) Proceed with standard installation (default - just press enter)</div><div>&nbsp;</div><div>解释：继续标准安装（默认选项）。如果您按回车键，将使用上述默认设置进行安装。</div><div>2) Customize installation</div><div>&nbsp;</div><div>解释：自定义安装。选择此选项可以让您自定义安装路径、选择不同的工具链版本或调整其他安装选项。</div><div>3) Cancel installation</div><div>&nbsp;</div><div>解释：取消安装。选择此选项将终止 Rust 的安装过程。</div><div>接下来的步骤</div><div>选择安装选项：</div><div>&nbsp;</div><div>标准安装：如果您不需要自定义安装，直接按回车键继续。这将使用默认设置进行安装。</div><div>自定义安装：如果您需要更改安装路径或选择特定的工具链版本，可以输入 2 并按照提示进行操作。</div><div>取消安装：如果您暂时不想安装 Rust，可以输入 3 取消。</div><div>完成安装：</div><div>&nbsp;</div><div><div>安装完成后，确保重新启动终端或重新加载 shell 配置文件，以便新的 PATH 设置生效。</div><div>&nbsp;</div><div>您可以通过运行以下命令来验证 Rust 是否安装成功：</div></div><div>&nbsp;</div><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>rustc --version&nbsp;&nbsp;</span></span></li><li><span>cargo --version&nbsp;&nbsp;</span></li></ol></div><div>&nbsp;</div></div><div><div>这两个命令应分别返回 Rust 编译器和 Cargo 的版本信息。</div><div>更新 Rust（可选）：</div><div>如果您已经安装过 Rust，可以通过以下命令更新到最新版本：</div><div>&nbsp;</div><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>rustup update&nbsp;&nbsp;</span></span></li></ol></div><div><div>PATH 环境变量未更新：</div><div>如果安装后运行 rustc --version 提示找不到命令，可能是因为 PATH 环境变量未正确更新。您可以手动添加 Cargo 的 bin 目录到 PATH 中，例如：</div><div><span style="color: rgb(128, 0, 0);"><strong>export PATH=&quot;$HOME/.cargo/bin:$PATH&quot;</strong></span></div><div>&nbsp;</div><div>将上述行添加到您的 ~/.bashrc 或 ~/.profile 文件中，然后重新加载配置：</div><div><span style="color: rgb(128, 0, 0);"><strong>source ~/.bashrc</strong></span></div><div>&nbsp;</div><div>&nbsp;</div><div><span style="font-family: &quot;Courier New&quot;, monospace; font-size: 12px;">wasm-pack编译命令：</span></div><div>&nbsp;</div><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>[root@localhost&nbsp;brotli-compress-vue-component]#&nbsp;wasm-pack&nbsp;build&nbsp;--target&nbsp;web&nbsp;--</span><span class="keyword">out</span><span>-name&nbsp;compress&nbsp;--</span><span class="keyword">out</span><span>-dir&nbsp;pkg&nbsp;&nbsp;</span></span></li></ol></div><div>&nbsp;</div></div><div>&nbsp;</div></div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/341/</link>
<title><![CDATA[新版chrome无法请求内网接口的解决方法]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[浏览器相关]]></category>
<pubDate>Wed, 30 Oct 2024 06:14:35 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/341/</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;<span style="color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">开发本地项目时，访问接口如果遇到类似</span><span style="color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px; margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; font-weight: 700;">net::ERR_FAILED、Error: Network Error、Preflight</span><span style="color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">等情形，可排查下是否因浏览器自身所致。</span></p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">用新版chrome（版本92+）跨域请求本地接口，比如http://192.168.xxx.xxx/token。</p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;"><img src="/attachment/2024/10/image/c_1-1024x305.png" width="1024" height="305" alt="" /></p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">点击右上角红色警告按钮，提示如下：</p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;"><img src="/attachment/2024/10/image/c_2-1024x433.png" width="1024" height="433" alt="" /></p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">大概意思：</p><p class="has-background" style="margin-top: 1em; margin-bottom: 1em; padding: 1.25em 2.375em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px; background-color: rgb(217, 221, 224);">一个站点从一个网络中请求一个资源，由于其用户的特权网络位置，它只能访问这个资源。这些请求将设备和服务器暴露给互联网，增加了跨站点请求伪造(CSRF)攻击和/或信息泄漏的风险。<br style="margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word;" />为了降低这些风险，Chrome弃用从非安全上下文发起的对非公共子资源的请求，并将在Chrome 92中开始屏蔽它们(2021年7月)。<br style="margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word;" />若要解决此问题，请将需要访问本地资源的网站迁移到HTTPS。如果目标资源不在本地主机上提供服务，那么它也必须通过HTTPS提供服务，以避免混合内容问题。<br style="margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word;" />管理员可以使用企业策略的insecureprivatenetworkrequestallowed和InsecurePrivateNetworkRequestsAllowedForUrls在所有或某些网站上暂时禁用此限制。</p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">其实还是跨域方面的问题，按照要求设置即可。最简单的方法是暂时禁用此功能，毕竟本地测试的项目，一般安全性都不需要太高。</p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;">地址栏输入：<span style="margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; font-weight: 700;">chrome://flags/</span>，回车。搜索找到<span style="margin: 0px; padding: 0px; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; font-weight: 700;">Block&nbsp;insecure&nbsp;private network requests</span>，设置禁用（Disabled），然后重启浏览器即可</p><p style="margin-top: 1em; margin-bottom: 1em; box-sizing: border-box; vertical-align: baseline; word-break: break-word; overflow-wrap: break-word; color: rgb(85, 85, 85); font-family: &quot;Microsoft YaHei&quot;; font-size: 16px;"><img src="/attachment/2024/10/image/c_3.png" width="729" height="152" alt="" /></p>
]]>
</description>
</item>
</channel>
</rss>