<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[木子屋 - 脚本语言]]></title>
<link>http://www.mzwu.com/</link>
<description><![CDATA[Dnawo&#39;s BLOG]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[service@mzwu.com(Dnawo)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>木子屋</title>
	<url>http://www.mzwu.com/images/logos.gif</url>
	<link>http://www.mzwu.com/</link>
	<description>木子屋</description>
</image>

			<item>
			<link>http://www.mzwu.com/article.asp?id=5054</link>
			<title><![CDATA[jQuery获取元素自身html代码示例]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Wed,31 May 2023 09:41:39 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5054</guid>
		<description><![CDATA[jQuery.html()方法返回的是被选元素内部html代码(innerHTML)，如果要获取元素自身html代码(outerHTML)，可以用jQuery.prop(&#34;outerHTML&#34;)来获取：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code38337);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code38337>$(&#34;title&#34;).prop(&#34;outerHTML&#34;) ;</div></div><br/><img src="http://www.mzwu.com/pic/202305/018.jpg" border="0" alt=""/>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5042</link>
			<title><![CDATA[Vue组件学习笔记]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Wed,05 Apr 2023 10:57:09 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5042</guid>
		<description><![CDATA[<img width="630" height="250" src="http://www.mzwu.com/pic/202203/045.jpg" border="0" alt=""/><br/><br/><strong>一、Vue组件</strong><br/><br/><span style="color:Brown">1.局部组件</span><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code30051);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code30051>&lt;div id=&#34;app&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;website&gt;&lt;/website&gt;<br/>&lt;/div&gt;<br/>&lt;script&gt;<br/>&#160;&#160;&#160;&#160;new Vue({<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;el: &#39;#app&#39;,<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//局部组件<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;components: {&#39;website&#39;: {template: &#39;&lt;span&gt;自定义局部组件!&lt;/span&gt;&#39;}}<br/>&#160;&#160;&#160;&#160;})<br/>&lt;/script&gt;</div></div><br/><span style="color:Brown">2.全局组件</span><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code8025);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code8025>&lt;div id=&#34;app&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;website&gt;&lt;/website&gt;<br/>&lt;/div&gt;<br/>&lt;script&gt;<br/>&#160;&#160;&#160;&#160;//全局组件<br/>&#160;&#160;&#160;&#160;Vue.component(&#39;website&#39;, {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;template: &#39;&lt;span&gt;自定义全局组件!&lt;/span&gt;&#39;<br/>&#160;&#160;&#160;&#160;})<br/><br/>&#160;&#160;&#160;&#160;new Vue({<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;el: &#39;#app&#39;<br/>&#160;&#160;&#160;&#160;})<br/>&lt;/script&gt;</div></div><br/><strong>二、Vue组件间传值</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code47546);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code47546>&lt;div id=&#34;app&#34;&gt;<br/>&#160;&#160;&#160;&#160;&lt;!-- name为静态值，url为动态值 --&gt;<br/>&#160;&#160;&#160;&#160;&lt;website name=&#34;木子屋&#34; v-bind:url=&#34;url&#34;&gt;&lt;/website&gt;<br/>&lt;/div&gt;<br/>&lt;script&gt;<br/>&#160;&#160;&#160;&#160;Vue.component(&#39;website&#39;, {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;props: [&#39;name&#39;, &#39;url&#39;],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;template: &#39;&lt;span&gt;{{name}} - {{url}}&lt;/span&gt;&#39;<br/>&#160;&#160;&#160;&#160;})<br/><br/>&#160;&#160;&#160;&#160;new Vue({<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;el: &#39;#app&#39;,<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;data: {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;url: &#39;www.mzwu.com&#39;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;})<br/>&lt;/script&gt;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5041</link>
			<title><![CDATA[jQuery.ajax多任务异步转同步示例]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Thu,30 Mar 2023 09:07:29 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5041</guid>
		<description><![CDATA[<div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code28983);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code28983>let tasks = []; //任务列表<br/>let counter = 0; //计数器<br/><br/>//任务<br/>let todo = function(){<br/>&#160;&#160;&#160;&#160;if(counter&lt;tasks.length){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$.ajax({<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;url: &#34;/test.ashx&#34;,<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;data: &#34;task=&#34; + tasks[counter],<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;async: true,<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;success: function(data){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;console.log(data);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;},<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;error: function(){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;console.log(&#34;error.&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;},<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;complete: function(){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;console.log(counter, tasks.length);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;counter++;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;todo();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;});<br/>&#160;&#160;&#160;&#160;}else{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;console.log(&#34;finish.&#34;);<br/>&#160;&#160;&#160;&#160;}<br/>}<br/><br/>//初始化任务列表和计数器，开始任务<br/>$(&#34;#btn&#34;).click(function(){<br/>&#160;&#160;&#160;&#160;tasks = [&#34;task1&#34;, &#34;task2&#34;, &#34;task3&#34;];<br/>&#160;&#160;&#160;&#160;counter = 0;<br/>&#160;&#160;&#160;&#160;todo();<br/>});</div></div><br/><img src="http://www.mzwu.com/pic/202303/006.jpg" border="0" alt=""/>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5040</link>
			<title><![CDATA[jQuery.ajax回调函数success和done互换示例]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Wed,29 Mar 2023 20:52:13 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5040</guid>
		<description><![CDATA[<div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code58113);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code58113>$.ajax({<br/>&#160;&#160;&#160;&#160;url: &#34;/test.ashx&#34;,<br/>&#160;&#160;&#160;&#160;data: `t=${new Date().getTime()}`,<br/>&#160;&#160;&#160;&#160;success: (data,textStatus,jqXHR) =&gt; {console.log(&#34;success&#34;)},<br/>&#160;&#160;&#160;&#160;error: (jqXHR,textStatus,errorThrown) =&gt; {console.log(&#34;error&#34;)},<br/>&#160;&#160;&#160;&#160;complete: (jqXHR,textStatus) =&gt; {console.log(&#34;complete&#34;)}<br/>});</div></div><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code84816);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code84816>$.ajax({<br/>&#160;&#160;&#160;&#160;url: &#34;/test.ashx&#34;,<br/>&#160;&#160;&#160;&#160;data: `t=${new Date().getTime()}`,<br/>})<br/>.done((data,textStatus,jqXHR) =&gt; {console.log(&#34;done&#34;)})<br/>.fail((jqXHR,textStatus,errorThrown) =&gt; {console.log(&#34;fail&#34;)})<br/>.always((jqXHR,textStatus) =&gt; {console.log(&#34;always&#34;)});</div></div><br/>有一点比较有意思，我们可以在请求完成后，再调用done方法对回调函数进行赋值，这点和success不同：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code4707);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code4707>var jqXHR = $.ajax({<br/>&#160;&#160;&#160;&#160;url: &#34;/test.ashx&#34;,<br/>&#160;&#160;&#160;&#160;data: `t=${new Date().getTime()}`<br/>});<br/><br/>//other work here ...<br/><br/>jqXHR.done((data,textStatus,jqXHR) =&gt; {console.log(&#34;done1&#34;)});<br/>jqXHR.done((data,textStatus,jqXHR) =&gt; {console.log(&#34;done2&#34;)});</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5032</link>
			<title><![CDATA[H5实现页面全屏显示脚本]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Fri,30 Dec 2022 14:14:46 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5032</guid>
		<description><![CDATA[<strong>1、页面开启全屏</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code71594);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code71594>function openFullScreen() {<br/>&#160;&#160;&#160;&#160;var doc = document.documentElement;<br/>&#160;&#160;&#160;&#160;if (doc.requestFullscreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.requestFullscreen();<br/>&#160;&#160;&#160;&#160;} else if (doc.msRequestFullscreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.msRequestFullscreen(); //早期IE浏览器<br/>&#160;&#160;&#160;&#160;} else if (doc.webkitRequestFullScreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.webkitRequestFullScreen(); //早期Chrome浏览器<br/>&#160;&#160;&#160;&#160;} else if (doc.mozRequestFullScreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.mozRequestFullScreen();&nbsp;&nbsp;//早期火狐浏览器<br/>&#160;&#160;&#160;&#160;}<br/>}</div></div><br/><strong>2、页面退出全屏</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code70931);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code70931>function exitFullScreen() {<br/>&#160;&#160;&#160;&#160;var doc = document;<br/>&#160;&#160;&#160;&#160;if(doc.exitFullscreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.exitFullscreen();<br/>&#160;&#160;&#160;&#160;} else if(doc.msExitFullscreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.msExitFullscreen(); //早期IE浏览器<br/>&#160;&#160;&#160;&#160;} else if(doc.webkitExitFullscreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.webkitExitFullscreen(); //早期Chrome浏览器<br/>&#160;&#160;&#160;&#160;} else if(doc.mozCancelFullScreen) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doc.mozCancelFullScreen(); //早期火狐浏览器<br/>&#160;&#160;&#160;&#160;}<br/>}</div></div><br/><strong>3、判断页面全屏状态</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code46364);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code46364>function isFullScreen(){<br/>&#160;&#160;&#160;&#160;return !!(document.fullscreenElement || document.msFullScreenElement || document.webkitFullScreenElement || document.mozFullScreenElement);<br/>}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5030</link>
			<title><![CDATA[H5监听移动设备摇一摇功能实现[转]]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Mon,26 Dec 2022 21:46:58 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5030</guid>
		<description><![CDATA[<img width="630" height="350" src="http://www.mzwu.com/pic/202212/018.jpg" border="0" alt=""/><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code29559);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code29559>&lt;!doctype html&gt;<br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=&#34;utf-8&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;摇一摇&lt;/title&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1&#34;&gt;<br/>&lt;/head&gt;<br/><br/>&lt;body&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;button id=&#34;startBtn&#34;&gt;开启摇一摇&lt;/button&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;button id=&#34;closeBtn&#34;&gt;关闭摇一摇&lt;/button&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setDeviceMotion 添加陀螺仪监控<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参数： cb devicemotion的事件处理函数; errCb 不支持devicemotion时的处理回调<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function setDeviceMotion(cb, errCb) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!window.DeviceMotionEvent) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errCb(&#34;设备不支持DeviceMotion&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (typeof DeviceMotionEvent.requestPermission === &#39;function&#39;) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// IOS13 设备<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DeviceMotionEvent.requestPermission()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.then(permissionState =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (permissionState === &#39;granted&#39;) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.addEventListener(&#39;devicemotion&#39;, cb);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.catch((err) =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errCb(&#34;用户未允许权限&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 其他支持加速度检测的系统<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let timer = setTimeout(function () {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errCb(&#34;用户未开启权限&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, 1000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.addEventListener(&#34;devicemotion&#34;, (e) =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearTimeout(timer);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, { once: true });<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.addEventListener(&#34;devicemotion&#34;, cb);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throttle 节流函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参数：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fn 要节流的函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;interval 节流间隔时间<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start 是否在节流开始时执行 (true在开始时执行，false在结束时执行)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回值：<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;经过节流处理的函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function throttle(fn, interval = 200, start = true) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (typeof fn !== &#34;function&#34;) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return console.error(&#34;请传入一个函数&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let timer = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return function (...arg) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let _this = this;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (timer) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start &amp;&amp; fn.apply(_this, arg);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer = setTimeout(() =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(!start) &amp;&amp; fn.apply(_this, arg);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, interval);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addShake 添加摇一摇功能<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参数：cbShake 类型 fn 当用户进行了摇一摇之后要做的事情<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回值：shakeIndex 开启的第几个摇一摇功能的索引，用来删除监听&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function addShake(cbShake) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const maxRange = 60; //当用户的两次加速度差值大于这个幅度，判定用户进行了摇一摇功能<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const minRange = 10; //当用户的两次加速度差值小于这个幅度，判定用户停止摇动手机<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let isShake = false; //记录用户是否摇动手机<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let lastX = 0,lastY = 0,lastZ = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function toShake(e) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let motion = e.acceleration;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let {x, y, z} = motion;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let range = Math.abs(x - lastX) + Math.abs(y - lastY) + Math.abs(z - lastZ);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (range &gt; maxRange) {//用户进行了摇一摇<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isShake = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (range &lt; minRange &amp;&amp; isShake) { // 停止摇一摇<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cbShake(e);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isShake = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastX = x;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastY = y;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastZ = z;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!window.shakeEvent) { //建立 shakeEvent 存储所有的摇一摇的处理函数，方便一会取消<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.shakeEvent = [];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toShake = throttle(toShake);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.shakeEvent.push(toShake);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setDeviceMotion(toShake, (errMessage) =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(errMessage)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return window.shakeEvent.length - 1;//返回该次摇一摇处理的索引<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;删除摇一摇监听<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参数：shakeIndex 摇一摇功能的索引<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function removeShake(shakeIndex) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.removeEventListener(&#34;devicemotion&#34;, window.shakeEvent[shakeIndex]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 调用摇一摇<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let startBtn = document.querySel&#101;ctor(&#34;#startBtn&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let closeBtn = document.querySel&#101;ctor(&#34;#closeBtn&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let isStartShake = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let shakeIndex;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 再次强调 IOS 13.3 需要用户触发，再能开启摇一摇 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startBtn.addEventListener(&#34;touchend&#34;, () =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isStartShake) return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isStartShake = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shakeIndex = addShake(() =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(&#34;您进行了摇一摇！&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;closeBtn.addEventListener(&#34;touchend&#34;, () =&gt; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!isStartShake) return;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isStartShake = false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeShake(shakeIndex);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;</div></div><br/><strong>原文链接</strong><br/><br/>[1].H5设备运动事件 DeviceMotionEvent 实现摇一摇功能：<a href="https://www.jianshu.com/p/a0d671f723cb" target="_blank" rel="external">https://www.jianshu.com/p/a0d671f723cb</a>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5029</link>
			<title><![CDATA[Javascri&#112;t节流函数]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Mon,26 Dec 2022 19:53:25 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5029</guid>
		<description><![CDATA[<img width="630" height="287" src="http://www.mzwu.com/pic/202212/017.jpg" border="0" alt=""/><br/><br/><strong>一、什么是节流函数？</strong><br/><br/>在前端开发中，onscroll、onresize、onchange、mousemove等事件的回调函数，总会被频繁的触发调用：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code28782);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code28782>&lt;!doctype html&gt;<br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=&#34;utf-8&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;节流函数&lt;/title&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1&#34;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script src=&#34;//lib.mzwu.com/jquery/jquery-1.12.4.min.js&#34;&gt;&lt;/script&gt;<br/>&lt;/head&gt;<br/><br/>&lt;body&gt;<br/>&#160;&#160;&#160;&#160;&lt;input id=&#34;usn&#34; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let query = function(content){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#34;连接服务器查询-&#34;, content);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&#34;#usn&#34;).on(&#34;input propertychange&#34;, function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;query($(this).val());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;</div></div><br/><img src="http://www.mzwu.com/pic/202212/014.jpg" border="0" alt=""/><br/><br/>我们可以人为干预限制函数调用次数，限制在n秒中只执行一次，2n秒只执行2次，3n秒只执行3次，依此类推，这就是节流函数。<br/><br/><strong>二、Javascri&#112;t实现节流函数</strong><br/><br/><span style="color:Brown">1.时间差版本</span><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code71766);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code71766>&lt;script&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//节流函数改造器<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let throttle = function(fn, delay) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let previous = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return function() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let args = arguments;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let now = new Date();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//第一次不查询<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// if(previous == 0){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp; previous = new Date();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// }<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(now - previous &gt; delay) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;previous = now;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fn.apply(null, args);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// else{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp; console.log(&#34;不查询-&#34;, arguments[0]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//直正要执行的函数,待改造成节流函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let query = function(content){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#34;连接服务器查询-&#34;, content);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//节流函数,3秒内只执行一次<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let throttle_query = throttle(query, 3000);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&#34;#usn&#34;).on(&#34;input propertychange&#34;, function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throttle_query($(this).val());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&lt;/script&gt;</div></div><br/><img src="http://www.mzwu.com/pic/202212/015.jpg" border="0" alt=""/><br/><br/><span style="color:Brown">2.定时器版本</span><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code95929);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code95929>&lt;script&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//节流函数改造器<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let throttle = function(fn, delay) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let timer;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return function() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let args = arguments;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!timer){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer = setTimeout(function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer = null;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fn.apply(null,args);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},delay);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// else{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp; console.log(&#34;不查询-&#34;, arguments[0]);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//直正要执行的函数,等待改造成节流函数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let query = function(content){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#34;连接服务器查询-&#34;, content);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//节流函数,3秒内只执行一次<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let throttle_query = throttle(query, 3000);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&#34;#usn&#34;).on(&#34;input propertychange&#34;, function(){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throttle_query($(this).val());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;});<br/>&lt;/script&gt;</div></div><br/><img src="http://www.mzwu.com/pic/202212/016.jpg" border="0" alt=""/><br/><br/><strong>参考资料</strong><br/><br/>[1].Javascri&#112;t 实现函数节流(throttle)：<a href="https://zhuanlan.zhihu.com/p/367106221" target="_blank" rel="external">https://zhuanlan.zhihu.com/p/367106221</a><br/>[2].节流函数：<a href="https://blog.csdn.net/bhq1711617151/article/details/115556353" target="_blank" rel="external">https://blog.csdn.net/bhq1711617151/article/details/115556353</a>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5024</link>
			<title><![CDATA[ jQuery.ajax向服务器端post提交json数据错误及解决方法]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Sun,11 Dec 2022 23:31:34 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5024</guid>
		<description><![CDATA[<img width="630" height="252" src="http://www.mzwu.com/pic/202212/011.jpg" border="0" alt=""/><br/><br/>客户端使用 jQuery.ajax向服务器端post提交json数据，代码如下：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code23441);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code23441>apiPost = function(url, data){<br/>&nbsp;&nbsp;&nbsp;&nbsp;$.ajax({&nbsp;&nbsp;&nbsp;&nbsp;    <br/>&nbsp;&nbsp;&nbsp;&nbsp;    url: url,&nbsp;&nbsp;&nbsp;&nbsp;    <br/>&nbsp;&nbsp;&nbsp;&nbsp;    data: data,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: &#34;post&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;async: true,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataType: &#34;json&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;    contentType: &#34;application/json&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;    success: function(response){console.log(response)}<br/>&nbsp;&nbsp;&nbsp;&nbsp;});<br/>}</div></div><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code87788);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code87788>data = {&#34;domain&#34;:&#34;mzwu.com&#34;,&#34;date&#34;:&#34;2005-03-28&#34;};<br/>apiPost(&#34;demo.ashx&#34;, data);</div></div><br/>测试发现服务器端获取到的数据不是json格式，而是key/value格式：<i>domain=mzwu.com&amp;date=2005-03-28</i>，对代码稍做修改(data加单引号)：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code21305);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code21305>data = &#39;{&#34;domain&#34;:&#34;mzwu.com&#34;,&#34;date&#34;:&#34;2005-03-28&#34;}&#39;;<br/>apiPost(&#34;demo.ashx&#34;, data);</div></div><br/>测试正常了，但这样不便于修改json数据，借助JSON.stringify方法，完美解决：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code94197);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code94197>apiPost = function(url, data){<br/>&nbsp;&nbsp;&nbsp;&nbsp;$.ajax({&nbsp;&nbsp;&nbsp;&nbsp;    <br/>&nbsp;&nbsp;&nbsp;&nbsp;    url: url,&nbsp;&nbsp;&nbsp;&nbsp;    <br/>&nbsp;&nbsp;&nbsp;&nbsp;    data: JSON.stringify(data),<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: &#34;post&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataType: &#34;json&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;async: true,<br/>&nbsp;&nbsp;&nbsp;&nbsp;    contentType: &#34;application/json&#34;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;    success: function(response){console.log(response)}<br/>&nbsp;&nbsp;&nbsp;&nbsp;});<br/>}</div></div><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code2078);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code2078>data = {&#34;domain&#34;:&#34;mzwu.com&#34;,&#34;date&#34;:&#34;2005-03-28&#34;};<br/>data.date = &#34;2022-12-11&#34;;<br/>apiPost(&#34;demo.ashx&#34;, data);</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5013</link>
			<title><![CDATA[Javascri&#112;t字符串拼接三种方法比较]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Sun,16 Oct 2022 23:24:51 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5013</guid>
		<description><![CDATA[<div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code51876);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code51876>let name = &#34;张三&#34;;<br/>let tel = &#34;13800000000&#34;;<br/>let address = &#34;浙江省杭州市西湖区北山街1号&#34;;</div></div><br/><strong>方法1：加号拼接法</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code29041);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code29041>let str1 = &#34;姓名:&#34; + name + &#34;，&#34; + &#34;电话:&#34; + tel + &#34;，&#34; + &#34;地址:&#34; + address;</div></div><br/><strong>方法2：replace替换法</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code24105);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code24105>let str2 = &#34;姓名:{name}，电话:{tel}，地址:{address}&#34;.replace(&#34;{name}&#34;, name).replace(&#34;{tel}&#34;, tel).replace(&#34;{address}&#34;, address);</div></div><br/><strong>方法3：ES6模板字符串</strong><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code12355);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code12355>let str3 = `姓名:${name}，电话:${tel}，地址:${address}`;</div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.mzwu.com/article.asp?id=5001</link>
			<title><![CDATA[手机浏览器打开控制台的方法]]></title>
			<author>service@mzwu.com(dnawo)</author>
			<category><![CDATA[脚本语言]]></category>
			<pubDate>Wed,14 Sep 2022 09:29:43 +0800</pubDate>
			<guid>http://www.mzwu.com/default.asp?id=5001</guid>
		<description><![CDATA[昨晚写了个H5页面，电脑上运行正常，手机上却无法使用，查找才发现手机浏览器没有控制台，专门下载安装了Firefox浏览器手机版，也是没有控制台。搜索发现早有大神解决了这个问题，在页面加入两行代码即可搞定：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><a onClick="copycode(code6951);" style="float:right;cursor: pointer;font-weight: normal; font-style: normal">复制内容到剪贴板</a><img src="http://www.mzwu.com/images/code.gif" style="margin:0px 2px -3px 0px;" alt="程序代码"/> 程序代码</div><div class="UBBContent" id=code6951>&lt;script src=&#34;<i>https:</i>//cdn.jsdelivr.net/npm/eruda&#34;&gt;&lt;/script&gt;<br/>&lt;script&gt;eruda.init();&lt;/script&gt;</div></div><br/><img width="630" height="681" src="http://www.mzwu.com/pic/202209/016.jpg" border="0" alt=""/><br/><br/>经查，发现服务器端js站点SSL证书配置错误，电脑浏览器忽略了这个问题正常加载js所以运行正常，而手机浏览器没有加载js才导致无法使用，重新配置证书，问题解决！<br/><br/><strong>相关链接</strong><br/><br/>[1].eruda官网：<a href="https://eruda.liriliri.io/" target="_blank" rel="external">https://eruda.liriliri.io/</a><br/>[2].eruda GitHub：<a href="https://github.com/liriliri/eruda" target="_blank" rel="external">https://github.com/liriliri/eruda</a>]]></description>
		</item>
		
</channel>
</rss>
