- 博客(28)
- 收藏
- 关注
原创 打包上线后IE9样式不显示问题
React + And Design系统需要兼容IE9,引入babel-polyfill后,开发环境正常,生产环境上IE9样式缺失。IE9上,原本写好的样式大多数都不见了,发现IE7、IE8、IE9对CSS大小有限制,其中IE9限制在250KB,正好系统中的打包完的CSS大小为790KB// 引入css-split-webpack-plugin后将css文件进行切割,解决以上问题var CS...
2019-12-11 09:50:51
328
原创 手动实现简易的Promise
const PENDING = 'pending'const RESOLVED = 'resolved'const REJECTED = 'rejected'function MyPromise(fn) { const that = this //方便后面利用上下文,先把this赋值给that this.state = PENDING // 初始状态为pending this....
2019-01-10 09:15:59
294
原创 经典面试题,循环中使用闭包解决 `var` 定义函数的问题
for(var i=1;i<=5;i++) { setTimeout(() => { console.log(i) }, i*1000) }如上例子,会打印出6个6,原因:for循环中用var来申明变量i,此时var存在变量提升问题,并且6次循环中全都共用一个变量,所以当setTimeout中的延迟函数开始执行时,循环已经结束,此时i=6,所以会打印出6个6。...
2019-01-08 16:31:30
1032
原创 element 框架 el-upload 上传文件问题
在使用Vue+element 中的el-upload组件做文件上传时,最根本的原因是把路径写错,导致系统提示跨域错误,直接看代码: <el-upload :action="targetAction" :show-file-list="false" :auto-upload="true" :before-upload="beforeAvatarUpload" :...
2018-12-25 11:19:04
13419
1
原创 前端如何利用JavaScript导出excel文件
前端开发过程中常见的需求有:需要根据后台接口导出一份excel表格,可以利用以下做法实现。let postObj = {a:'1'} // 请求提交的对象axios({ // 用axios发送post请求 method: "post", url: "/test/getExcel", // 请求地址 data:...
2018-12-05 17:35:32
454
原创 npm ERR! enoent This is related to npm not being able to find a file.解决
npm ERR! path C:\Users\yangxiaofan\Desktop\learn-webpack\webpack-demo\node_modules\cssescnpm ERR! code ENOENTnpm ERR! errno -4058npm ERR! syscall accessnpm ERR! enoent ENOENT: no such file or dire...
2018-12-04 17:38:14
47034
12
原创 兼容IE浏览器和DOM浏览器的事件对象
虽然DOM和IE中的event对象不同,但基于他们的相似性依旧可以拿出跨浏览器的方案来。IE中event对象全部信息和方法DOM方法中都有,只不过实现的方法不一样,这种对应关系让实现两种事件模型之间的映射非常容易。创建EventUtil对象,如下:var EventUtil = { addHandler: function(element, type, handler){ /...
2018-11-30 17:16:35
626
2
原创 手动实现Vue的数据双向绑定v-model
所需构造函数:myVue和Watcher myVue中有 _init<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-
2018-11-30 09:31:04
1161
1
原创 如何对DOM进行事件绑定----DOM方法和IE事件处理程序
目录DOM0级事件处理程序添加删除DOM2级事件处理程序addEventListener()和removeEventListener()IE事件处理程序attachEvent()和detachEvent()DOM0级事件处理程序添加 使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这个时候的事件处理程序是在元素的作用域中运行的,换句话说,...
2018-11-29 17:57:45
505
1
原创 vue结合Element搭建项目
打开cmd,输入vue init webpack Vue-Demo2.运行:cd Vue-Demo 3.运行:cnpm i,速度会比npm要快 4.运行:npm run dev 到这里一个vue项目已经新建完成,接着开始引入Element5.运行:cnpm i element-ui -s 6.接下来就可以在.vue文件使用Element组件 7.到这里已经成功引入Element
2017-12-02 15:15:48
477
原创 jQuery中 get()和eq()的区别
jQuery中get()和eq()最大的区别就是 :使用get()方法 , 最终返回的为**js原生对象**, 也就是说接下来只能用原生js的方法来操作dom元素.而使用eq()方法, 最终返回的是jQuery对象, 可以使用jQ方法操作节点.例如:访问某个元素的backgroundColor:①使用eq方法:$("dv").eq(0).css("backgroundC
2017-11-23 13:37:20
799
原创 React Native 运行报错:Cannot find entry file index.android.js in any of the roots
从git hub上clone一个之前提交的react-native项目, 莫名其妙就报错, 找不到原因, 最终原来是: 提交前我用的是npm命令来下载东西, 这次拉下来用的是 cnpm install 命令,所以才一直报404这个错, 换成npm结果就好了.
2017-11-22 23:14:28
892
原创 利用js创建模版
js模板简单说明基本说明在开发中如果某块数据需要在多个地方使用(比如一个很长的段落或者是有格式的字符串)那么可以考虑使用简单模板。因为某块数据在多个地方都要用到,势必需要把这份数据拷贝多次,而这样会造成冗余度过高的问题,且不方便维护。假如后期需要对这块数据进行修改,那么所有用到的地方都要进行修改比较麻烦,因此建议使用模板来处理。相关的代码示例: <script type="text/te
2017-09-30 09:23:06
576
原创 应用程序缓存
应用程序缓存(1)简单介绍:h5推出的应用程序缓存,可以对Web页面进行缓存,并且可以在没有网络的情况下进行访问 兼容说明:所有主流浏览器均支持应用程序缓存,除了 Internet Explorer(2)主要优点: 1)支持离线浏览(没有网络的情况下依然可以查看) 2)速度更快,性能更好(使用缓存文件可以提高访问的速度) 3)减轻服务器端的压力 - 浏览器将只从服务
2017-09-30 09:11:52
267
原创 localStorage存储
localStorage存储简单说明 (1)简单对比:保存在本地 + 没有时间限制 (2)大小比较:4K - 5M - 20M (3)使用方式和sessionStorage相同示例代码<input type="text"><button class="btn1">添加</button><button class="btn2">获取</button><button clas
2017-09-30 09:09:18
266
原创 sessionStorage存储
sessionStorage存储简单说明 (1)在存储用户数据的时候,因为cookie可以存储的数据比较小才4KB左右,所以也可以考虑使用sessionStorage来存储,大小限制为2M左右 (2)该技术和localStorage是h5推出的,因此在使用的时候,需要考虑到兼容性的问题 (3)相关资料:http://www.w3school.com.cn/html5/html_
2017-09-29 20:49:36
591
原创 实现跨域网络访问
实现跨域网络访问基本说明在前端开发中,我们可以使用ajax来发送网络请求。发送请求的方式:GET请求|POST请求发送请求的主要步骤:GET请求: 1)创建请求对象(XMLHTTPRequest)注意兼容性问题 2)设置请求方法和路径(open方法) 3)发送请求(send方法) 4)监听网络请求的状态(onreadystateschange) 5)处理
2017-09-29 20:42:00
941
原创 cookie存储
cookie存储基本介绍(1)web存储相关的技术:cookie | sessionStorage | localStorage |应用缓存(2)cookie是一种会话跟踪技术,用于在进行网页访问的时候,存储页面中的某些数据信息。* cookie的使用注意点 * 001 使用cookie来进行数据存储的大小有限制,4KB 002 每个网页中存储cookie的个数(最多50)和每个网站
2017-09-29 20:39:07
244
原创 jQuery发送网络请求
jQuery发送网络请求1.get方法示例代码<!--必传参数:url可选参数:data(发送给服务器端的参数-key-value)可选参数:type(规定服务器端返回的数据类型:xml,html,json,text等)可选参数:fn(请求成功的回调函数)注意点:注意参数的顺序--> //01 获取页面中的按钮 var btn1 = $('.btn1');
2017-09-29 15:30:16
1503
原创 Ajax发送网络请求包装
Ajax发送网络请求封装GET请求的封装主要处理:(1)创建请求对象(兼容性处理)(2)设置请求路径和请求方法 01 处理参数(把对象中的键值对转换为数组后连接) 02 处理GET请求缓存(增加随机因子参数) 03 处理中文转码问题(EncodeURI)(3)发送请求(4)监听请求状态(请求状态==4判断响应码)(5)处理请求成功和失败的回调示例代码
2017-09-29 15:25:49
252
原创 Ajax发送post请求
Ajax发送post请求发送POST请求的注意点:(1)请求方法为post(2)把要提交的参数放在send方法中处理(3)必须设置请求头信息 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");封装好的代码示例// 数据处理方法function json2str(data)
2017-09-29 14:31:46
706
原创 Ajax发送get请求
Ajax发送get请求简单介绍Ajax是一门异步的用于发送网络请求的技术。全称为:Async javascript and XMLUI刷新:通常情况下,每次提交表达的时候,都会刷新界面,而使用ajax发送请求可以实现异步发送请求获取数据而不刷新界面效果。具体示例:a.蘑菇街加载数据,页面的内容在不断的加载,但是整个页面并没有刷新。b.百度搜索框输入关键字,页面内容发生了变化,
2017-09-29 14:25:27
594
原创 wampserver 的安装和使用
wampserver的安装和使用wampserver简介W: Windows操作系统A: Apache 世界排名第一的服务器软件,特点是简单,速度快,性能稳定M: MySQL 开源免费的数据库软件,特点是体积小、速度快、使用成本低P: PHP 超文本预处理器,直接将代码嵌入HTML文档中执行, 特点是简单易学,容易上手wampserver安装安装过程1.双击提供的安装包
2017-09-29 14:20:56
509
原创 git创建仓库步骤
1.git init 初始化一个空的git仓库2.如果没有配置用户,需要配置用户名,邮箱,来区别用户3.git status 查看当前文件状态 文件状态三种:红色: 修改状态绿色: 暂存状态什么都没有 已提交4.git add 文件名称 把文件添加到暂存区域 git add . 代表当前文件夹在开发中经常用git add * 所有文件git add -A 所有文件 暂存区域
2017-09-29 11:05:26
347
原创 git仓库管理命令及加密
1.软件下载windows git下载网址mac不用下载自带2.git 命令1.git init 初始化仓库 2.git status 查看当前状态3.git add -A(提交所有的) 提交本地文件到缓存区 4.git commit -m”提交信息” 将缓存区的东西提交到本地仓库5.git reset –hard sha 值 回退到某一个版本git reset –hard sha
2017-09-29 11:03:03
2991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人