
项目总结
文章平均质量分 76
时清云
自强不息,厚德载物;日拱一卒,功不唐捐;海纳百川,有容乃大。这世上没有最强的人,只有想变强的人,做一个简单真实的自己。
展开
-
微信分享只有链接没有图标和标题正文的问题分析
出现上述问题的原因是微信规则的问题1、用链接的方式打开页面 然后分享只会出现当前页面链接不会出现图文;2、通过带图标的分享打开再次分享就是带图标标题的了;3、可以用二维码或者微信菜单的方式打开,分享一切正常。原创 2023-05-31 10:05:16 · 6786 阅读 · 0 评论 -
项目总结--http请求被服务器拦截
最近做项目遇到这样一种情况,项目中的http请求在公司的网络下是可以的,但是如果用手机的4G网或者在家里的时候,http请求是不同的。起初我还以为是兼容性的问题,但是在手机进行调试的时候发现请求是已经发出去了,但是在后端的服务器日志上是看不到请求信息的。我猜测是中间做了拦截。果然如此。凡是公司还没出售的产品,都做了这样的限制。直接用IP+端口号(存在跨域的问题,不过后端服务器已经放开,origin:*,都可以访问)的方式访问服务器,因为有白名单(这个下面会做详细的说明)的限制,是访问不通的。IP+端口号访原创 2020-12-28 16:56:04 · 3655 阅读 · 0 评论 -
记录两种打包后在手机上看日志的方法(vconsole和eruda)
之前经常用这种方法在手机上进行调试,打印错误日志。这次记录一下。使用 vconsole.min.js,代码如下:<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script><!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>加载中</tit原创 2020-12-18 10:04:43 · 1366 阅读 · 0 评论 -
rem在项目中的具体使用分析
移动端都是要做屏幕适配的,下面我们来看一下rem在项目中是怎么具体运用的以及它的详细原理。之前项目中用的是<script src="/static/js/flexible.js"></script>现在<script src="/static/js/zbui.flexible.js"></script>是对flexible.js做了一个压缩和精简。下面分析一下zbui.flexible.js的具体实现。! function(e) { var原创 2020-10-30 16:43:52 · 2792 阅读 · 2 评论 -
记一次开发小技巧-怎么保存网页上的文件
最近在开发的时候遇到一个问题就是要把网页上的pdf文件给下载下来。我新建了一个文件,然后把代码粘贴复制到文件中,如图:然后放到项目中,结果报错了。最后追踪问题的时候,发现我粘贴复制的这个文件有问题。那怎么办?我请教了一位同事,他给我说了一个办法。谷歌浏览器的控制台中有可以保存文件的功能。如图:找到network,找到想要下载的那个文件,然后点击鼠标右键然后这样就可以成功下载某个文件,避免粘贴复制的尴尬和错误。...原创 2020-10-27 22:49:30 · 821 阅读 · 0 评论 -
scrollIntoView()的用法总结
最近封装组件的时候,用到了scrollIntoView(),之前很少用到,所以就总结下来,以方便以后查阅。我们先看一下scrollIntoView()的例子和语法。例子如下:document.querySelector("#demo").scrollIntoView() // 让demo元素滚动到可视区域内让demo元素滚动到可视区域内的顶部。语法:element.scrollIntoView(parameter)参数parameter的值为true(默认值)或者false。pa原创 2020-10-14 22:06:24 · 2421 阅读 · 0 评论 -
vue中上传图片使用v-for所带的key值的缓存问题
近期开发了一个新功能,就是上传图片,并支持删除,于是乎写了一个组件。上传是没有问题的,但是删除的时候老是出问题,问题是删除的时候,例如总共上传了4张图片,我删除了第二张,就剩下了三张,但是现在的第二张和第三张图片是一样的,这是什么情况?经过分析之后,知道了是因为缓存的原因。使用v-for的时候设置key值得时候,我用的是index,导致存在缓存的情况,这个和vue中的diff算法有关。于是,我就给每一项设置一个独一无二的索引值,就是给每一项加一个时间戳new Date().getTime()作为索引值,这样原创 2020-10-09 21:31:33 · 908 阅读 · 0 评论 -
webpack中require.context的作用
在我们项目开发中,经常需要import或者export各种模块,那么有没有什么办法可以简化这种引入或者导出操作呢?答案是肯定的,下面就为大家介绍一下require.context我们会这样引入组件:import A from 'components/A'import B from 'components/B'import C from 'components/C'import D from 'components/D'// ...这样很蛋疼,因为每加一个组件,可能都要写这么一句,这样有规律的转载 2020-07-20 22:41:55 · 707 阅读 · 0 评论 -
二维码扫描的样式总结
我想大家都用过扫码插件,也想像微信和支付宝那样。但是有些插件是可以自定义样式的,但是有些则不行了。现在开发的app中有用到扫码的插件,但是默认的样式很丑,所以就想着能够能够实现像微信和支付宝那样的样式。代码如下:html<div class="scan"></div>css.scan { width: 150px; height: 150px; ma...原创 2019-12-05 15:12:46 · 1154 阅读 · 0 评论 -
关于QQ分享、微信分享、百度地图接入的总结
最近项目中要接入百度地图,实现QQ分享和微信分享等功能,然后就想总结一下这些功能实现的流程。那就开始正题吧。因为项目的框架是cordova+ionic+angular,所以安装的插件都是基于cordova的。1、百度地图的接入首先要到百度地图开放平台(http://lbsyun.baidu.com/)去创建应用,然后获取访问应用(AK),创建应用的流程这个大家可以网上查一下。这个AK在安装插...原创 2019-11-26 20:30:26 · 598 阅读 · 0 评论 -
项目总结之vue Router中的跳转自动加上#/
最近弄懂一个小问题,就想着先总结下来。是关于vue Router的跳转问题,就是如果引入了vue-router,例如给一个这样的链接https:www.app/index.html,但是真正在浏览器中输入后执行的时候就变成了 https:www.app/index.html#/,为什么呢?原来是因为引入了vue-router,引入vue-router后,再点开链接的时候,会自动加上#/,因为vue...原创 2019-04-23 19:33:49 · 3891 阅读 · 0 评论 -
项目总结之阻止页面资源加载window.stop()
今天在做项目的时候遇到了这样一个问题,从合同列表跳转到合同详情,由于合同详情全部是由图片展示出来的,有时候一份合同可能有好几十张图片,这就影响了加载速度,导致图片加载很慢,所以我就自己写了一个图片懒加载的插件(参考echo.js写的 首先先给图片一个默认loading图片,然后给img标签加一个data-echo的属性,这个属性等于一个请求回来的url地址,当下拉到这个图片出现在可视区域的时候,...原创 2019-04-16 22:42:34 · 2055 阅读 · 0 评论 -
项目总结之微信小程序开发启动报错
最近在微信开发者工具启动小程序的时候报这样一个错误:Error: 缺少文件, error: /app.json not found于是就查了一下,删除project.config.json文件中的下列节点: "svr": "/", "client": "/", "qcloudRoot": "/", "miniprogramRoot": "/", "cloudfunctionR...原创 2019-03-27 10:36:40 · 1132 阅读 · 0 评论 -
项目总结之页面滑动到底部按钮点亮之(clientHeight、scrollHeight、offsetHeight)
最近在项目中遇到这样一个需求,页面滑动到底部,按钮点亮,这个时候按钮才可以点击。我估计之前也有许多人遇到过这个问题,那么下面我就把这个功能总结一下吧。首先我们先来了解一下clientHeight、offsetHeight、scrollHeight的概念和区别clientHeight:...原创 2019-03-26 18:29:10 · 406 阅读 · 0 评论 -
项目总结之微信小程序的分享功能
上手小程序没有多长时间,对于微信小程序的api还不熟悉,所以需要慢慢积累。今天用到了一个分享给其他人的功能,于是就想着总结下来。主要代码如下:html:&lt;button class="btn" open-type="share"&gt;分享给好友&lt;/button&gt;js:onShareAppMessage(res){ if(res.from =原创 2019-03-07 20:15:44 · 651 阅读 · 0 评论 -
微信小程序实现分页效果
遇到了怎么在微信小程序中实现分页效果的问题,于是就想总结下来。start我们先看一下微信小程序中封装了哪些方法生命周期函数–监听页面初次渲染完成onReady: function () { },生命周期函数–监听页面显示onShow: function () { },生命周期函数–监听页面隐藏onHide: function () { ...原创 2019-02-26 18:56:58 · 12157 阅读 · 0 评论 -
项目总结(mpvue框架开发微信小程序之页面的跳转)
最近在开发微信小程序,之前总结过一篇关于微信小程序中的用户ID(包括openid和unionid)的一篇文章,大家有兴趣可以去看一下。这次我要总结一下平时经常用的微信小程序中页面跳转和传参的问题。mpvue页面跳转还是借鉴了微信小程序的页面跳转目前微信页面跳转有以下几种方式参数 说明navigate 对应 wx.navigateTo 或 wx.navigateToMiniPro...原创 2019-02-18 17:28:07 · 2378 阅读 · 0 评论 -
微信小程序中的用户ID(包括openid和unionid)
最近在做微信小程序的开发,以前小程序这块接触的不多,所以就想把在项目中每一步遇到的问题总结下来。开始做的时候,这个openId肯定是要打交道的。那下面我们来看一下openId到底是怎么一回事吧。做过微信开发的同学,多多少少都会涉及到用户的唯一标识的问题。由于微信牢牢把控着用户的信息,因此当你需要在微信平台中获取用户的标示信息,必然要通过微信的平台接口来获取(其实这个openId是来区分用户唯一...原创 2019-01-29 18:44:14 · 17235 阅读 · 0 评论 -
项目总结(消除input的记忆功能)
做项目的时候遇到了这样一个功能,在一个input框中输入了一个值,从这个页面退出再进来的时候,准备在input框输入值的时候,这时我上一次输入的值会在input框的下面展示出来,点击它,它会自动输入到inpput框中,且input的框的背景色都变成了其他颜色。然后我就查了一下,发现了input在html5中新增的属性autocomplete可以解决这个问题。autocomplete 属性规定输...原创 2019-01-21 22:55:04 · 1973 阅读 · 0 评论 -
项目总结之制作二维码的插件qrcode.js
在做项目的时候遇到了这样一个问题,首先说一下项目的技术构成背景,这是一个用vue做的h5页面。业务背景就是在微信服务号上新增这个需求的功能入口和H5页面,能够生成自己的专属推荐码和商机链接,在熟人圈中进行分享和推广,收集到的商机会自动分配给对应的人进行处理。那么在做的时候发现每个客户都有自己的专属推荐码,所以需要给进来的客户生成一个专属的推荐二维码。于是就在网上搜了一下,就...原创 2019-01-26 16:07:47 · 2357 阅读 · 0 评论 -
项目总结之angular4.0中的@viewchild,@Input,@Output
在项目中遇到了这样一个问题,父页面中需要操作子组件里面的方法,这个时候需要怎么做呢?项目是由ionic3.0和angular4.0构成的 代码如下:child的html页面如下:...原创 2019-01-26 14:39:14 · 1321 阅读 · 1 评论 -
项目总结之关于vue中的UI组件
目前项目中vue用的UI组件为饿了么团队开发的UI组件,其中包括pc端的element-ui,移动端的mint-ui,所以平时这两个UI组件用的比较多点。下面是基于vue的UI框架集锦(摘自于其他博文)(1)Element 饿了么 vue 2.0后台UI框架 (Star:18382)https://github.com/ElemeFE/element(2)iview组件库 (Star:10...原创 2019-01-08 15:55:51 · 265 阅读 · 0 评论 -
项目总结之angular中利用input和output实现组件之间数据的传递
目前组件化思想非常盛行,近期在在项目中就用到了input和output的组件,所以就在此总结下来。话不多说,进入正题,先看代码。html:&lt;div class=“shop” [class.actived] ="hide"&gt; &lt;div *ngIf="shopImg" class="shop-image"&g原创 2018-12-28 20:05:13 · 647 阅读 · 1 评论 -
js中如果用-格式的时间转换为时间戳在苹果手机上为NaN
今天同事问了我一个问题,说把2018-08-12 23:00:00 转化为时间戳之后,在电脑和安卓系统上都可以正常显示,但是在ios上面确实显示为NAN,然后就问我什么原因,我说有可能是时间格式的问题,在ios上面不支持-格式的时间转化为时间戳,于是就是试了一下,果然如此。时间转换我们要转换的时间 2018-08-12 23:00:00let stopTime = new Date('2...原创 2018-12-06 11:12:30 · 2016 阅读 · 1 评论 -
技术分享之字符串(es5和es6的对比)
2015年发布了javascript的新规范es6,相比于之前的es5变动很大,这就需要我们花费一些时间去学习并使用。字符串作为一种基本数据类型,在讲解它之前,我们来看一下数据类型方面es6相对于es5有哪些变化?首先我们看一下es5的数据类型:es5包括两种数据类型 1.基本数据类型 2.引用数据类型基本数据类型:String(字符串) Number(数字) Boole...原创 2018-11-27 20:46:06 · 846 阅读 · 3 评论 -
对象深拷贝
最近在项目中用到了对象拷贝这一块,而且用到的是对象的深拷贝。下面就让我们来看一下关于对象的拷贝–浅拷贝和深拷贝。先看一下深拷贝和浅拷贝的区别(概念)JS 中的浅拷贝与深拷贝,只是针对复杂数据类型(Object,Array)的复制问题。浅拷贝与深拷贝都可以实现在已有对象上再生出一份的作用。但是对象的实例是存储在堆内存中然后通过一个引用值去操作对象,由此拷贝的时候就存在两种情况了:拷贝引用和拷贝实...原创 2019-04-28 17:01:03 · 515 阅读 · 0 评论 -
图片懒加载
在项目中遇到的这样一个问题,进入到一个详情页,这个详情页展示的全部是图片,由于有的图片比较大,所以加载的时候就比较慢了,这个时候就要用到了图片懒加载了。其实我在做这个图片懒加载的时候是比较受伤的,同时也意识到自己还有很多东西要学。为什么要这么说呢?我借鉴的是echo.js这个懒加载插件,但是我又不想把它在index.html中进行全局引入,因为我现在做的项目是angular4.0+ionic3.0...原创 2019-04-29 10:39:32 · 694 阅读 · 0 评论 -
谷歌浏览器的跨域设置(项目总结)
版本号49之后的chrome跨域设置 chrome的版本升到49之后,跨域设置比以前严格了,在打开命令上加–disable-web-security之后还需要给出新的用户个人信息的目录。众所周知chrome是需要用gmail地址登录的浏览器,登录后就会生成一个存储个人信息的目录,保存用户的收藏、历史记录等个人信息。49版本之后,如果设置chrome浏览器为支持跨域模式,需要指定出一个个人信息目录,转载 2017-07-06 16:40:33 · 878 阅读 · 0 评论 -
Xcode配置iOS系统版本支持文件
最近在整理手机打包的问题,Android studio和Xcode都要先配置起来,中间遇到的问题很多,想着总结下来,防止自己后面再忘记。首先,我配置好之后再给苹果手机打包的时候,报错了,报...原创 2019-09-29 21:25:31 · 2950 阅读 · 2 评论 -
工作学习总结--angular中的NgZone的简单使用
在Angular中,模板中有一些变量在组件中经常变动,例如变量num:<div> 经常变动的数字: {{ num }}</div>在组件中它的初始值设定为0 num = 0;假设在组件中有个循环,不断更新num的值,每5秒给num加1。for (let i = 0; i < 100; i++) { setInterval(() => ...转载 2019-08-31 19:07:15 · 4073 阅读 · 0 评论 -
关于数组的排序问题
var arr = [5,1,3,7,0,9,4,2,6,8];// 冒泡排序法function arrsort(arr){ var length = arr.length,temp; for(var i = 0; i < length - 1; i++){ for(var j = 0; j < length - 1; j++){ ...原创 2019-07-28 15:24:29 · 1400 阅读 · 0 评论 -
项目总结 - ts中的declare let type: any和对.d.ts文件类型的认识
项目中用的是angular5.0+ionic3.0,由于现在angular现在都是用typescript写的了,虽然说typescript是Javascript的超集,但是在项目中还是会有一些问题,那就是全js写的插件怎么能引入到typescript写的模块呢?...原创 2019-07-29 20:03:57 · 10210 阅读 · 0 评论 -
好的博客文章地址链接
vue中插槽slot讲解:https://www.cnblogs.com/loveyt/p/9946450.html新的插槽方法 v-slot:https://juejin.im/post/5c64e11151882562e4726d98很不错的博客文章:https://www.cnblogs.com/giggle/p/5346531.html汤姆大叔的js深层理论:http://www.c...原创 2019-07-03 18:10:42 · 433 阅读 · 2 评论 -
calc()的使用
之前对于calc()接触的很少,也很少用,但是真正接触之后发现,这个用处还不小原创 2019-06-25 21:42:14 · 2755 阅读 · 0 评论 -
使用iframe嵌套页面时用postmessage的交互数据的总结
最近在项目中需要外联一个H5页面,并且app要和这个H5页面进行数据交互,于是就想着总结一下。原创 2019-06-25 21:38:54 · 4748 阅读 · 0 评论 -
判断js数据类型的四种方法和原理
怎么去判断一个数据属于哪个数据类型,这个是很常见的操作,我们一般都会想到typeof和instanceof这两个常见的方法,但有时候这两种方法并不能满足我们的需求。那让我们来看一下都有哪些可以判断数据类型的方法吧。1.typeof这个方法很常见,目前......原创 2019-05-28 15:44:23 · 13068 阅读 · 2 评论 -
项目总结-关于字体加粗问题
近期,在开发一个h5页面的时候遇到了这样一个关于文字加粗的问题,我设置了 <p style=“font-weight :600;”>100万代金卷</p> 结果在安卓手机上 100加粗了,‘万代金卷’却没有变化,ios手机上都是加粗的。why?难道还存在兼容性问题?...原创 2019-07-15 22:13:33 · 11845 阅读 · 4 评论 -
ionic3之Events的学习
最近在做项目的时候,看到同事在用Events,之前没怎么用过,对这块也不了解,查阅之后发现Events还是挺有用的,简单总结一下。订阅-发布。先看一下Events的定义:官网是这样说的Events is a publish-subscribe style event system for sending and responding to application-level events a...原创 2019-05-23 10:45:26 · 376 阅读 · 0 评论 -
读取解析预览pdf文件的插件之pdf.js
最近有这样一个需求,需要在线预览pdf文件,于是就去找这方面的插件。最后筛选了一下,选择了pdf.js这个插件。我们先看一下pdf.js定义:pdf.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析pdf.js本质上是用canvas渲染的,p...原创 2019-05-17 18:38:49 · 4102 阅读 · 0 评论 -
项目总结之Ionic的页面跳转(ionic中的popTo()方法)
目前app项目的框架构成是angular4.0+ionic3.0,在做一个功能的时候需要复杂的页面跳转,所以在此总结一下。之前使用了很笨的一种方法,导致扩展性很差,近期又发现了一种新的方法,很简洁实用。两个方法我都写一下以实现对比记忆。不过在讲ionic中的popTo()方法之前,先看一下Ionic的NavController的定义NavController概述NavController是...原创 2019-05-20 09:59:10 · 2228 阅读 · 2 评论