前端
=清风徐来=
广积粮,缓称霸
展开
-
uniapp编译app中遇到的一些问题汇总
使用uniapp开发,一般都开发小程序,同时有着编译app或者H5的潜在需求. 在编译app或者H5的过程中,会有一些"兼容性"问题(小程序可以,app异常),以下是我遇到的一些问题以及解决方案1.自定义组件使用时,不能使用原生的tap等事件在自定义组件中对事件处理进行一次封装,可以$emit自定义事件2.图片上传异常小程序中可能在上传图片会加上header header: { "content-type": "multipart/form-data" },编译app或者h5.原创 2020-12-23 11:12:23 · 1871 阅读 · 0 评论 -
中国各省份省会地图json数据
[ { name: "沈阳市", value: ["123.429092", "41.796768"], }, { name: "长春市", value: ["125.324501", "43.886841"], }, { name: "哈尔滨市", value: ["126.642464", "45.756966"], }, { name: "北京市", value: ["116.405289", "39.9049原创 2020-06-17 11:48:43 · 3783 阅读 · 0 评论 -
webpack : webpack.config.js 配置文件(一)
webpack.config.js是启动webpack的配置文件,遵循nodejs的commonJS规范,使用require引入模块,并最终通过module.exports导出配置,实际上就是一个nodejs文件.1.启动方式webpack默认使用同目录下的webpack.config.js文件,也可以自定义指定文件位置在package.json文件中配置:"scripts": { "build:dev":"webpack --config ./src/webpack.config.de.原创 2020-06-03 18:07:47 · 2394 阅读 · 0 评论 -
js处理错误异常
转载于http://jartto.wang/2018/11/20/js-exception-handling/转载 2019-12-03 17:32:22 · 291 阅读 · 0 评论 -
浏览器的缓存机制cache-control
在web网站的开发过程中,浏览器缓存机制是一个比较重要的话题,了解这方面有助于开发以及网站性能的提高.浏览器缓存分类1.强缓存:指浏览器直接从浏览器缓存中读取资源,不请求服务器,状态码显示200,并且size显示from disk cache或from memory cache;2.协商缓存指浏览器向服务器发送请求,并且根据request headers中携带的数据判断是否需要从缓存...原创 2019-11-13 17:48:46 · 2296 阅读 · 0 评论 -
微信小程序canvas绘图中canvasToTempFilePath出现CreateBitmap问题
在微信小程序中我们经常需要将绘制好的canvas保存到本地,这中间我们需要调用canvasToTempFilePath将canvas画布转为本地临时文件,在这里遇到了一个errorcreate bitmap failed1.问题起因在一部分性能不强的安卓机上经常会出现这个问题2.解决方案当失败时重新调用canvasToTempFilePath方法,直至绘制成功 /* ct.dra...原创 2019-10-30 11:09:24 · 6033 阅读 · 0 评论 -
H5进行图片压缩代码
H5进行图片压缩主要是利用了canvas的drawImage方法compressImage.js function compressedImage(img) { const canvas = document.createElement("canvas"); const ct = canvas.getContext("2d"); const ...原创 2019-10-24 18:00:57 · 814 阅读 · 0 评论 -
微信小程序:openSetting遇到的一些问题
微信在2018年时对openSettingAPI做了一些改动,总结就是说:为了防止一些公司为了获取用户授权不择手段,在此将openSetting接口改为手动调用,必须通过tap事件或者button来触发使用时存在的问题<view bindtap="openSetting">openSetting</view>openSetting(){ setTimeo...原创 2019-10-15 16:25:12 · 3669 阅读 · 0 评论 -
移动端H5调起手机发短信功能
贴上代码<script> var u=navigator.userAgent; var isAndroid=u.indexOf('Android')>-1||u.indexOf('Adr')>-1; var isIOS=!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); var msg='hello world...原创 2019-10-15 15:46:06 · 2975 阅读 · 0 评论 -
理解js中的同步和异步执行
从零开始js的执行顺序:从头到尾,一行一行执行代码,这是前提。因此这样的代码的代码完全能够按照我们的预想输出console.log(1);console.log(32)只到遇到了下面的代码console.log(1)setTimeout(()=>{ console.log(2)},0)console.log(3)异步js是一门单线程语言,因此如果在js的线程中出现...原创 2019-04-19 11:31:38 · 3226 阅读 · 2 评论 -
BFC详解
什么是BFC块格式上下文(Block Formatting Context)BFC。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。Block-level box:display为block,list-item,table-cell的元素;Inline-level box:display为in...原创 2019-04-17 11:21:47 · 848 阅读 · 0 评论 -
使用wepy编写小程序中遇到的一些坑(version1.x)
1、image标签只能使用单标签如果image使用双标签会报错只能使用单标签的形式<image src="" class="bottom-link-icon">2、列表渲染对大量数据进行渲染有点力不从心场景描述:比如页面一开始渲染后10条列表数据,但是之后我们需要在这十条数据之后push10条数据(分页场景),拉到底之后再push10条;产生的问题:每次视图层的渲染都是...原创 2019-04-16 17:18:11 · 438 阅读 · 0 评论 -
浏览器转化base64操作的API
1、window.atob和window.btoawindow.atob:对base64进行解码;window.btoa:对字符串转化为base64;2、兼容性感觉挺乐观的3、转码中文出现异常的问题使用btoa函数转码中文是会报下面的异常可以先对中文进行encodeURIComponent转码,然后转化成base64;之后可以先对base64解码,然后使用decodeURICo...原创 2019-03-22 11:48:02 · 689 阅读 · 0 评论 -
js中的cookie
1、本地调试出现无法操作document .cookie的问题使用chrome浏览器在本地是无法操作document.cookie的(IE,firefox都可以),当然如果页面部署到服务器上都是可以操作的;2、对cookie进行操作的一些方法浏览器中的cookie主要是格式如下,格式为key1=value1;key2=value2;key3=value3的格式本质上使一串以分号(;)分割...原创 2019-03-04 16:33:00 · 212 阅读 · 0 评论 -
如何创建0.5px的border
一般设计图是使用iphone6的尺寸进行绘制的(750px),也就是普通的两倍关系,因此设计图中的1px,对应的css就是0.5px,但是如何直接写0.5px,大部分浏览器会将其作为1px进行解析。但是可以使用以下几种方式进行处理1、使用transform:scale(0.5,0.5)的方式借助transform:scale(0.5,0.5)将边框进行缩放一半,自然就形成了0.5px的边框...原创 2018-12-18 10:15:57 · 3510 阅读 · 0 评论 -
关于js中异步问题的解决方案
在js中有一个始终无法绕过的问题,如何优雅地解决异步问题。实际上,js在执行过程中,每遇到一个异步函数,都会将这个异步函数放入一个异步队列中,只有当同步线程执行结束之后,才会开始执行异步队列中的函数,这个是讨论解决异步方案的前提。解决问题的方法主流的解决方法主要有以下几种:回调函数事件触发发布/订阅者模式promisegenerate方法介绍回调函数回调函数应该属于最简单粗...原创 2018-11-29 19:35:34 · 1046 阅读 · 0 评论 -
es6特性总结
原创 2018-11-29 19:36:46 · 134 阅读 · 0 评论 -
关于text-align中的justify
在很多的业务场景中,我们可能需要达到这样的一个效果也就是将左边的label设定成相同的宽度,并且label内部的文字需要两端对齐,这里需要使用到text-align中的justify。语法使用起来很简单,只要在需要文本两端对齐的标签上加上text-align:justify左边是设定text-align:left,右边是设定了text-align:justify,可以看出,justif...原创 2018-12-03 15:12:41 · 12445 阅读 · 0 评论 -
用js制作一个扫雷游戏(vue版)
使用js来制作一个扫雷游戏,可以分为以下几个步骤1、根据不同难度构建扫雷游戏区域;2、在游戏区域中放置地雷;3、处理点击事件;4、处理游戏结束事件1、根据不同难度构建扫雷游戏区域创建一个二维数组进行扫雷区域的描述,这样就可以根据两个索引获取到每一个格子的状态描述,我给每一个格子设置了三个属性:isMark:该格子是否已经被标记;isOpen:该格子是否已经被点开;valu...原创 2018-12-13 11:38:04 · 2240 阅读 · 0 评论 -
高效前端:js优化
1 按强类型风格写代码 定义变量时指明数据类型,例如使用var num=0,str=''代替var num,str方便了js解释器,同时也方便了阅读代码的人; 不要随意更改变量的数据类型这样不仅需要解释器进行额外的类型装换处理,还会给阅读代码的人带来疑惑。如果真的需要改变类型,可以重新定义一个变量进行处理 函数返回值的类型是确定类型尽量做到函数的返回值的类型一致,尽量避免fun...原创 2018-12-20 15:58:39 · 373 阅读 · 0 评论 -
高效前端:加快页面打开速度
head中的js会引起堵塞,阻碍DOM的渲染,可以使用以下方法代替;(1)将script标签放在body后面(2)给script标签添加defer属性,添加了defer属性之后,引入的js文件会变为异步加载形式,而执行的时机在于document的readyState==interactive(可交互)之后,DOMContentLoaded事件之前。同时,加上defer之后,资源的优先级将会...原创 2018-12-20 18:16:46 · 1178 阅读 · 0 评论 -
前端跨域问题
同源策略同源策略就是,不同协议,域名,端口的站点无法直接进行请求。同源策略只针对浏览器,浏览器一旦检测到请求的结果域名不一致时,就会堵塞请求结果。记住:跨域请求会发送成功,但是返回的结果会被浏览器堵塞为什么需要同源策略比如说我们进行网银转账,真实的站点是 bank.com ,但是有一天没看清楚进入了 bang.com,而bang.com中借助iframe(src = bank.com)...原创 2018-12-26 18:09:29 · 209 阅读 · 0 评论 -
高效前端:使用chrome的devTools
1、打印console1.1 使用console.table使用console.table可以将一个数组展开之后在控制台输出let obj = [{ key1: '12', key2: '12', key3: '12', key4: '12', key5: '12', key6: '12', ...原创 2018-12-21 16:40:30 · 215 阅读 · 0 评论 -
自定义事件
1、使用Event对象&lt;body&gt;&lt;div class="box"&gt; &lt;div id="item"&gt;item&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;原创 2018-12-27 17:39:45 · 361 阅读 · 0 评论 -
vue打包之后的项目运行
vue-cli项目最后总是不可避免进行打包操作,但是打包之后如何运行?,可以借助下面node代码运行以及创建接口代理:var express=require("express");//项目的一个配置文件,在这里主要用来获取生产环境的端口号var config=require('./config/index.js');var app = express();//这部分主要用来创建...原创 2018-12-17 15:14:08 · 2501 阅读 · 0 评论 -
vue中如何对多维数组进行渲染
在一些业务场景中,我们可能需要使用多维数组进行数据绑定,但是由于vue的响应更行机制,二维数组的数据更新可能不会触发视图更新。解决方式1、同时触发另外一个数据的视图更新tip:step必须是存在于视图层上的data2、使用$set的方式触发更新...原创 2018-12-11 17:56:23 · 5983 阅读 · 0 评论 -
函数柯里化
柯里化就是函数和参数相结合形成新的函数,其主要用处在于:对于一个函数,如果在程序中我们需要多次调用,并且参数都相同(或者部分相同),例如Array的sort函数,我们就可以考虑将函数柯里化(curry),减少代码量。如何实现柯里化的原理主要是要返回一个函数,这个函数中有来自闭包的变量记录了创建时的默认参数,然后执行这个返回函数时,把新传入的参数和默认参数拼合成完整参数去调用原来的函数先...原创 2018-12-28 12:40:56 · 239 阅读 · 0 评论 -
canvas中遇到的一些问题汇总
canvas中遇到的一些问题汇总1、canvas中绘图API中使用的尺寸一致,但是长度效果都不一样在canvas的本身画布的大小只能通过canvas标签中的width和height进行设置。如果同时对canvas的css样式进行设置,会对canvas进行缩放,就好比对一张图片进行样式处理一样,会将其本身的尺寸缩放至我们设置的尺寸。&lt;canvas class="canvas"width=...原创 2018-11-29 19:21:20 · 2715 阅读 · 0 评论