<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[juceli的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/juceli</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; juceli]]></copyright><item><title><![CDATA[vue登录中的图形验证码]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/129226948</link><guid>https://blog.youkuaiyun.com/juceli/article/details/129226948</guid><author>juceli</author><pubDate>Sun, 26 Feb 2023 15:00:58 +0800</pubDate><description><![CDATA[vue登录图形验证码]]></description><category></category></item><item><title><![CDATA[在vscode终端上运行 npm 会询问 “你要如何打开这个文件“]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/128820182</link><guid>https://blog.youkuaiyun.com/juceli/article/details/128820182</guid><author>juceli</author><pubDate>Tue, 31 Jan 2023 17:00:33 +0800</pubDate><description><![CDATA[在vscode终端上运行 npm 会询问 “你要如何打开这个文件“]]></description><category></category></item><item><title><![CDATA[uniapp加载第三方字体（微信小程序测试通过）]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/124979833</link><guid>https://blog.youkuaiyun.com/juceli/article/details/124979833</guid><author>juceli</author><pubDate>Thu, 26 May 2022 10:31:23 +0800</pubDate><description><![CDATA[一。CSS远程加载

App.vue


@font-face{
    font-family: font-name;
    src:url('https://XXXXX/font.ttf');
}

在微信小程序的开发者工具里面有用，但是（安卓）真机调试没有用

二、使用API uni.loadFontFace()

App.vue onload(){}中


uni.loadFontFace({
  family: 'Bitstream Vera Serif Bold',
  source: 'ur]]></description><category></category></item><item><title><![CDATA[el-dialog拖动]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/97135298</link><guid>https://blog.youkuaiyun.com/juceli/article/details/97135298</guid><author>juceli</author><pubDate>Wed, 24 Jul 2019 15:30:58 +0800</pubDate><description><![CDATA[1.drag.js


import Vue from 'vue';

/*

*  使用方法

*  将以下代码复制到一个js文件中，然后在入口文件main.js中import引入即可；

*  给elementUI的dialog上加上 v-dialogDrag 指令就可以实现弹窗的全屏和拉伸了。

*  给dialog设置 :close-on-click-modal="false" , 禁止点...]]></description><category></category></item><item><title><![CDATA[vue中div拖动]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/97116653</link><guid>https://blog.youkuaiyun.com/juceli/article/details/97116653</guid><author>juceli</author><pubDate>Wed, 24 Jul 2019 11:52:02 +0800</pubDate><description><![CDATA[1.html


&lt;div id="app1"&gt;
     &lt;div v-drag class="drag"&gt;&lt;/div&gt;
     &lt;div v-drag class="drag"&gt;&lt;/div&gt;
&lt;/div&gt;

2.CSS


.drag{
            width: 100px;
            heig...]]></description><category></category></item><item><title><![CDATA[深入理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/97116487</link><guid>https://blog.youkuaiyun.com/juceli/article/details/97116487</guid><author>juceli</author><pubDate>Wed, 24 Jul 2019 11:49:05 +0800</pubDate><description><![CDATA[event.clientX、event.clientY

鼠标相对于浏览器窗口可视区域的X，Y坐标（窗口坐标），可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性

event.pageX、event.pageY

类似于event.clientX、event.clientY，但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性，但得到了广泛支持。IE事件中没有这2个属性。
...]]></description><category></category></item><item><title><![CDATA[前端动态加载路由]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/96483130</link><guid>https://blog.youkuaiyun.com/juceli/article/details/96483130</guid><author>juceli</author><pubDate>Fri, 19 Jul 2019 16:18:42 +0800</pubDate><description><![CDATA[1.router-&gt;index.js 配置asyncRouterMapconstantRouterMap



2.src-&gt;permission.js 验证权限部分 由后台返回的菜单传递给store中的permission，生成动态路由



3.store-&gt;modules-&gt;permission.js递归过滤异步路由表，返回符合用户权限的路由表



4.在页面中...]]></description><category></category></item><item><title><![CDATA[axios带token传递]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/94454256</link><guid>https://blog.youkuaiyun.com/juceli/article/details/94454256</guid><author>juceli</author><pubDate>Tue, 02 Jul 2019 16:52:13 +0800</pubDate><description><![CDATA[需要准备的东西：Vue+axios+Vuex+Vue-router

token写入请求头

1.在login.vue中通过发送http请求获取token，写入cookie保存，同步更新vuex



vuex中Login action 在store-&gt;modules-&gt;user.js中



setToken方法在utils-&gt;auth.js中



2.配置请求头+token...]]></description><category></category></item><item><title><![CDATA[cookie 和session 的区别详解]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/94453739</link><guid>https://blog.youkuaiyun.com/juceli/article/details/94453739</guid><author>juceli</author><pubDate>Tue, 02 Jul 2019 16:34:20 +0800</pubDate><description><![CDATA[这些都是基础知识，不过有必要做深入了解。先简单介绍一下。

二者的定义：

当你在浏览网站的时候，WEB 服务器会先送一小小资料放在你的计算机上，Cookie 会帮你在网站上所打的文字或是一些选择，

都纪录下来。当下次你再光临同一个网站，WEB 服务器会先看看有没有它上次留下的 Cookie 资料，有的话，就会依据 Cookie

里的内容来判断使用者，送出特定的网页内容给你。 Cookie 的...]]></description><category></category></item><item><title><![CDATA[axios跟ajax的区别]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/94453600</link><guid>https://blog.youkuaiyun.com/juceli/article/details/94453600</guid><author>juceli</author><pubDate>Tue, 02 Jul 2019 16:33:10 +0800</pubDate><description><![CDATA[axios 原理还是属于XMLHttpRequest， 因此需要实现一个ajax。
	还需要但会一个promise对象来对结果进行处理。
	
	ajax实现
	var Ajax={
	    get: function(url, fn) {
	      // XMLHttpRequest对象用于在后台与服务器交换数据
	      var xhr = new...]]></description><category></category></item><item><title><![CDATA[echo与print，var_dump()和print_r()的区别]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/91975437</link><guid>https://blog.youkuaiyun.com/juceli/article/details/91975437</guid><author>juceli</author><pubDate>Fri, 14 Jun 2019 15:00:59 +0800</pubDate><description><![CDATA[1.echo 和 print 的区别

共同点：首先echo 和 print 都不是严格意义上的函数，他们都是 语言结构;他们都只能输出 字符串，整型跟int型浮点型数据。不能打印复合型和资源型数据；

而区别是：echo 可以连续输出多个变量，而print只能一次输出一个变量。print打印的值能直接复制给一个变量，如 $a = print “123”;

而echo 不可以，它没有像函数...]]></description><category></category></item><item><title><![CDATA[查找元素在数组中的位置]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/90768781</link><guid>https://blog.youkuaiyun.com/juceli/article/details/90768781</guid><author>juceli</author><pubDate>Tue, 04 Jun 2019 14:50:29 +0800</pubDate><description><![CDATA[ES6为Array增加了find()，findIndex函数。

find()函数用来查找目标元素，找到就返回该元素，找不到返回undefined。

findIndex()函数也是查找目标元素，找到就返回元素的位置，找不到就返回-1。

他们的都是一个查找回调函数。


[1, 2, 3, 4].find((value, index, arr) =&gt; {
  
})

查找函数有三个参数。...]]></description><category></category></item><item><title><![CDATA[js求数组最大值方法]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/90768744</link><guid>https://blog.youkuaiyun.com/juceli/article/details/90768744</guid><author>juceli</author><pubDate>Tue, 04 Jun 2019 14:47:46 +0800</pubDate><description><![CDATA[定义一个数组


var arr = [-1, 1, 101, -52, 10, 1001, 1001]

1.es6拓展运算符...


Math.max(...arr)

2.es5 apply(与方法1原理相同)


Math.max.apply(null,arr)

3.for循环


let max = arr[0];
for (let i = 0; i &lt; arr.length ...]]></description><category></category></item><item><title><![CDATA[vscode中js文件空格导致红色波浪线]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/87875626</link><guid>https://blog.youkuaiyun.com/juceli/article/details/87875626</guid><author>juceli</author><pubDate>Fri, 22 Feb 2019 11:47:41 +0800</pubDate><description><![CDATA[去掉设置中默认的对js进行的eslint检查即可

]]></description><category></category></item><item><title><![CDATA[vue组件中ref的用法]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/87862805</link><guid>https://blog.youkuaiyun.com/juceli/article/details/87862805</guid><author>juceli</author><pubDate>Thu, 21 Feb 2019 16:00:26 +0800</pubDate><description><![CDATA[1/el-table中ref的用法：
普通用法： ref=“refs”  查找时使用this.$refs.refs
2/组件中ref的用法：
&amp;lt;child ref=&quot;childRef&quot;&amp;gt;&amp;lt;/child&amp;gt;
查找时this.$refs.childRef找到的是子组件
如果子组件里el-table不是唯一组件，this.$refs.childRef.$children[0]找到t...]]></description><category></category></item><item><title><![CDATA[https网页加载http资源导致的页面报错及解决方案]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/86534376</link><guid>https://blog.youkuaiyun.com/juceli/article/details/86534376</guid><author>juceli</author><pubDate>Fri, 18 Jan 2019 09:34:41 +0800</pubDate><description><![CDATA[https是当下的网站的主流趋势，甚至像苹果这样的大公司，则完全要求用户必须使用https地址。

　　然而对于以前http链接来说，我们往往就存在一个兼容性问题，因为你不可能一下就全部切换过去，应该在很长一段时间内，https与http将共存。

　　https与http共存的场景有如：

　　　　1. app已经发布出去，其调用接口的地址为http的，那么这是必须兼容的。

　　　　2. ap...]]></description><category></category></item><item><title><![CDATA[js下载]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/84840878</link><guid>https://blog.youkuaiyun.com/juceli/article/details/84840878</guid><author>juceli</author><pubDate>Wed, 05 Dec 2018 18:05:24 +0800</pubDate><description><![CDATA[JS前端创建html或json文件并浏览器导出下载

作者：张鑫旭

一、HTML与文件下载

如果希望在前端侧直接触发某些资源的下载，最方便快捷的方法就是使用HTML5原生的download属性，例如：


&amp;lt;a href=&quot;large.jpg&quot; download&amp;gt;下载&amp;lt;/a&amp;gt;

具体介绍可参考我之前的文章：“了解HTML/HTML5中的download属性”。

但显然...]]></description><category></category></item><item><title><![CDATA[前端常用插件、工具类库汇总]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/82984180</link><guid>https://blog.youkuaiyun.com/juceli/article/details/82984180</guid><author>juceli</author><pubDate>Tue, 09 Oct 2018 16:17:31 +0800</pubDate><description><![CDATA[https://juejin.im/post/5ba7d5dd5188255c6140cc9d]]></description><category></category></item><item><title><![CDATA[vue监测input输入自动查询]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/82462524</link><guid>https://blog.youkuaiyun.com/juceli/article/details/82462524</guid><author>juceli</author><pubDate>Thu, 06 Sep 2018 15:52:32 +0800</pubDate><description><![CDATA[Vue.js 有一个方法 watch，它可以用来监测Vue实例上的数据变动。

如果对应一个对象，键是观察表达式，值是对应回调，值也可以是方法名，或者是对象，包含选项。

 

下面写两个demo，参考demo来了解一下

demo1


&amp;lt;template&amp;gt;
  &amp;lt;div&amp;gt;
    &amp;lt;el-input v-model=&quot;demo&quot;&amp;gt;&amp;lt;/el-input&amp;...]]></description><category></category></item><item><title><![CDATA[点击a标签，跳转到iframe中，并在iframe中显示指定的页面]]></title><link>https://blog.youkuaiyun.com/juceli/article/details/81943178</link><guid>https://blog.youkuaiyun.com/juceli/article/details/81943178</guid><author>juceli</author><pubDate>Wed, 22 Aug 2018 14:11:54 +0800</pubDate><description><![CDATA[1、用a标签的target属性

　　&amp;lt;iframe id=&quot;myFrameId&quot; name=&quot;myFrameName&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot;&amp;gt;&amp;lt;/iframe&amp;gt; 
　　&amp;lt;a href=&quot;../XX.action?codeInfo=Demo123&quot; target=&quot;myFrameName&q]]></description><category></category></item></channel></rss>