<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[这个昵称没有被占用吧的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csm0912</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csm0912]]></copyright><item><title><![CDATA[使用Fiddler中使用AutoResponder创建规则替换线上文件]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/106216508</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/106216508</guid><author>csm0912</author><pubDate>Wed, 20 May 2020 14:14:22 +0800</pubDate><description><![CDATA[事情是这样的。。。
我们的项目在app登录后，会根据传到用户中心的指定渠道码跳转到一个指定的页面(带上用户的登录信息)，然后该页面再跳转到项目页面。然后每次为了app内测试，都得重新发版。
刚来公司时，心想，这还不简单，host绑定域名，nginx代理服务地址，访问页面就指向本地了

...]]></description><category></category></item><item><title><![CDATA[background-size在ios下失效？]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/105968278</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/105968278</guid><author>csm0912</author><pubDate>Thu, 07 May 2020 19:20:07 +0800</pubDate><description><![CDATA[最近天天被动画和音频折磨~个人比较喜欢用css，所以需求中碰到广告牌闪烁的需求，果断使用了css3的动画，代码如下：
#ad {
	animation: changeAd 1s infinite;
}
@keyframes changeAd {
	from {
		background: ad1.png no-repeat center center;
		background-size: 100...]]></description><category></category></item><item><title><![CDATA[ios端兼容input光标高度处理]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/104782816</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/104782816</guid><author>csm0912</author><pubDate>Tue, 10 Mar 2020 20:48:33 +0800</pubDate><description><![CDATA[最近在项目中遇到一个问题，input输入框光标，在安卓手机上显示没有问题，但是在苹果手机上当点击输入的时候，光标的高度和父盒子的高度一样。
后来发现，是因为给父盒子添加了height和line-height。当点击输入的时候，光标的高度就自动和父盒子的高度一样了。而当有内容的时候，光标是从input的顶端到文字的底部。
解决办法：不用给父盒子设置高度height和行高line-height，内容用...]]></description><category></category></item><item><title><![CDATA[还在坑中。。。vue项目中，页面第二次刷新时，document.documentElement.scrollTop失效]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/104049440</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/104049440</guid><author>csm0912</author><pubDate>Mon, 20 Jan 2020 11:49:07 +0800</pubDate><description><![CDATA[文章目录问题描述问题定位解决问题
问题描述
需求需要从第三方页面进入页面时，会带一个table字段，然后根据table字段，定位到指定位置。将滚动操作写在mounted函数中，发现进入页面时能成功定位，但是一刷新页面，滚动就失效了。
mounted(){
	let { tab='' } = this.$route.query;
	let top = document.getElementById(...]]></description><category></category></item><item><title><![CDATA[如何区分防抖和节流]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/102455131</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/102455131</guid><author>csm0912</author><pubDate>Wed, 09 Oct 2019 10:20:59 +0800</pubDate><description><![CDATA[**防抖：**指在时间n内，函数被触发多次，但是只执行一次，只会执行最新的触发。也就是说，在时间n内，碰到新的触发，就清除之前的，重新计时。
**节流：**当持续触发某个事件时，会有规律的每隔时间n就才执行一次函数。


...]]></description><category></category></item><item><title><![CDATA[ios下非button/a标签点击事件失效问题]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/91897436</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/91897436</guid><author>csm0912</author><pubDate>Thu, 13 Jun 2019 21:27:37 +0800</pubDate><description><![CDATA[当使用事件委托给一个元素添加 click 事件时，如果事件是委托到 document 或 body 上，并且委托的元素是默认不可点击的（如 div, span 等），此时 click 事件会失效。如果是可点击的（比如 button、a 标签），此时 click 事件还是有效的，这点要特别注意。


解决方法：

将事件委托到非document和body下
	给标签添加custor: point...]]></description><category></category></item><item><title><![CDATA[小程序hidden在display:block下失效]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/91363127</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/91363127</guid><author>csm0912</author><pubDate>Mon, 10 Jun 2019 10:42:45 +0800</pubDate><description><![CDATA[&lt;view&gt;
    &lt;text hidden="{{ true }}"&gt;这是错误信息&lt;/text&gt;
&lt;/view&gt;

在将text设置为display:block后，hidden的作用失效。
]]></description><category></category></item><item><title><![CDATA[npm install和cnpm install时的不同]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/90264026</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/90264026</guid><author>csm0912</author><pubDate>Thu, 16 May 2019 15:17:15 +0800</pubDate><description><![CDATA[如果package-lock.json存在，则两者安装后结果可能不一样。因为cnpm install安装时，是不会去从package-lock.json中读取依赖包的版本信息的。


npm 5版本，在延续npm 3扁平化依赖包安装方式的基础上，新增了一个package-lock.json文件。package-lock.json的主要作用就是锁定依赖项的安装目录和依赖包的版本信息。

关于pa...]]></description><category></category></item><item><title><![CDATA[千位分割符的理解]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/90260296</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/90260296</guid><author>csm0912</author><pubDate>Thu, 16 May 2019 11:37:59 +0800</pubDate><description><![CDATA[本文请结合正则表达式中?=和?:和?!的理解一文一起“食用”，该文最后举个一个千位分割符的例子，本文将对该例进行分析。


"1234567890".replace(/\B(?=(?:\d{3})+(?!\d))/g,",")



经过分析，发现好像加不加非捕获分组(?:)对结果都没有影响，但是很多地方给出的正则表达式都会加上，不知道为什么
...]]></description><category></category></item><item><title><![CDATA[img图片不显示时设置默认图片]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88887822</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88887822</guid><author>csm0912</author><pubDate>Fri, 29 Mar 2019 13:54:19 +0800</pubDate><description><![CDATA[img标签显示图片：


&lt;img src="url" alt="error txt" /&gt;

当图片地址错误时，就是显示error txt，为了更好的用户体验，通常我们可以设置一张默认图片，当图片地址错误时，就显示该默认图片。

img是自闭合标签，所以一般不会去考虑使用伪元素before或after，但是，经过测试，在chrome68.0.3440.75上确实可以使用的，当图片地址...]]></description><category></category></item><item><title><![CDATA[flex弹性布局兼容写法]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88815330</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88815330</guid><author>csm0912</author><pubDate>Tue, 26 Mar 2019 11:27:34 +0800</pubDate><description><![CDATA[今天在写h5活动的时候，使用到了flex布局，在chrome浏览器手机模式下测试一切ok，然后使用真机(iphone 5c)时，就发现了各种问题]]></description><category></category></item><item><title><![CDATA[webpack中loader和plugin的区别]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88795369</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88795369</guid><author>csm0912</author><pubDate>Mon, 25 Mar 2019 15:32:03 +0800</pubDate><description><![CDATA[原文地址：详解webpack loader和plugin编写



一、webpack的常见配置


const webpack = require("webpack");
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
    /...]]></description><category></category></item><item><title><![CDATA[position：fixed失效]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88676352</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88676352</guid><author>csm0912</author><pubDate>Tue, 19 Mar 2019 22:55:05 +0800</pubDate><description><![CDATA[参考文章：position失效了？


设置了position为fixed的元素，如果其祖先元素的transform不为none，则该元素会相对于该祖先元素进行定位，而不是相对于窗口进行定位。


一个使用swiper做的tab切换，因为只需要在单个tab页内添加一个顶部按钮，因此在位置1处添加了button，然后使用position:fixed进行定位。


&lt;div class="swi...]]></description><category></category></item><item><title><![CDATA[js实现深拷贝]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88526976</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88526976</guid><author>csm0912</author><pubDate>Wed, 13 Mar 2019 10:30:24 +0800</pubDate><description><![CDATA[方法一：递归方法


function deepClone(obj){
    var copy = obj instanceof Array ? [] : {};
    for(var key in obj){
        if(obj[key] &amp;amp;&amp;amp; typeof obj[key]===&quot;object&quot;){
            copy[key] = deepClon...]]></description><category></category></item><item><title><![CDATA[table的box-sizing在不同浏览器下的表现不一样]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88318842</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88318842</guid><author>csm0912</author><pubDate>Thu, 07 Mar 2019 20:40:25 +0800</pubDate><description><![CDATA[下面通过一个实例来说明该属性：


&lt;style&gt;
    html * {
        margin: 0;
        padding: 0;
    }
    table {
        width: 100%;
        border: 1px solid red;
        box-sizing: content-box!important;
   ...]]></description><category></category></item><item><title><![CDATA[返回结果是一个对象obj，但是obj instanceOf Object返回false]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88112599</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88112599</guid><author>csm0912</author><pubDate>Mon, 04 Mar 2019 14:03:26 +0800</pubDate><description><![CDATA[今天在使用koa的使用，为了判断传入参数中是否正确，使用了object的hasOwnPrototype，但是却发现代码报错了。
首先获取到参数：var params = ctx.query;
然后判断返回对象中是否存在指定参数，如user参数：params.hasOwnPrototype(&quot;user&quot;)
最后执行的时候，发现代码报错
执行params instanceOf Object，发现返回的...]]></description><category></category></item><item><title><![CDATA[react-router设置path无效，错误信息Cannot GET /xxx]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88080128</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88080128</guid><author>csm0912</author><pubDate>Sun, 03 Mar 2019 15:56:58 +0800</pubDate><description><![CDATA[为了写react demo，搭了一个简介版的环境，因此webpack配置极其简单：
const path = require(&amp;quot;path&amp;quot;);
const HtmlWebpackPlugin = require(&amp;quot;html-webpack-plugin&amp;quot;);

module.exports = {
    mode: &amp;quot;development&amp;quot;,
    entry: {
        app:..]]></description><category></category></item><item><title><![CDATA[使用gulp-inject自动注入css或js]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/88044666</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/88044666</guid><author>csm0912</author><pubDate>Fri, 01 Mar 2019 10:01:09 +0800</pubDate><description><![CDATA[今天加到一个需求，需要在所有的页面中增加埋点，因为所有页面比较多，而且页面中没有引入公用部分，所以想有什么绑定可以动态加载页面呢？毕竟在每个页面中手动去加载一个文件是比较低效的工作。受另一个项目的启发，想到是否可以在打包时引入。除了解决这个问题以外，还有一个原因就是不想在开发环境下引入埋点。
经过资料查询，找到一个插件gulp-inject(因为项目是使用gulp打包)可以满足这一要求，gulp-...]]></description><category></category></item><item><title><![CDATA[理解JavaScript的async/await]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/87967262</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/87967262</guid><author>csm0912</author><pubDate>Wed, 27 Feb 2019 10:24:40 +0800</pubDate><description><![CDATA[
本文摘自边城的理解JavaScript的async/await一文以及git上关于Mavericker-1996关于async/await的一些见解

主要需要理解javascript中同步任务、异步任务、宏任务和任务。
宏任务(macro task)主要包含：script(整体代码)、setTimeout、setInterval、I/O、UI交互事件、postMessage、MessageCh...]]></description><category></category></item><item><title><![CDATA[CSS中display/float/position属性值的相互影响]]></title><link>https://blog.youkuaiyun.com/csm0912/article/details/87929613</link><guid>https://blog.youkuaiyun.com/csm0912/article/details/87929613</guid><author>csm0912</author><pubDate>Tue, 26 Feb 2019 10:14:30 +0800</pubDate><description><![CDATA[CSS中有三个属性与页面布局和box的创建有关：display，position和float，但是如何同时设置了三个属性，则三者之间有优先级关系：


]]></description><category></category></item></channel></rss>