![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Javascript
文章平均质量分 82
JS相关
ZD717822023
一个小程序员!
展开
-
淘宝小程序踩坑记录
最近搞了一套淘宝小程序配合淘宝店铺直接跳转,类似于扭蛋机那种机制,真是一路坎坷,一步一个坑,这里记录一下(前端);原创 2024-08-01 14:11:19 · 959 阅读 · 0 评论 -
大数据接口处理时间过长,前端访问超时解决方案
引言:最近项目在做一个图片指纹的功能,根据上传图片去筛查出全服务相似图片,筛查部分由算法那边去开发,但是由于数据量巨大,算法给出的接口处理时间可能需要10s(公司网关是6s)。接口的响应时间太长了,网关会报504超时,页面就挂掉了。。。关键点是技术方案要让前端直接跟算法联调(不是应该有个中间服务处理数据吗?)解决方案一:由之前一个算法接口拆分成两个接口,a接口负责启动开始查询,b接口由a接口触发开始查询数据,最后返回状态;前端针对第二个接口实行长轮询具体思路就是:用户触发查询接口a(其实是原创 2020-08-24 10:23:24 · 12651 阅读 · 2 评论 -
Promise的深刻理解——promise.all和promise.race
一、promise.allPromise.all可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。let p1=new Promise((resolve,reject)=>{ resolve('p1成功了')})let p2=new Promise((resolve,reject)=>{ resolve('p2成功了')})let p3=Pr原创 2020-07-04 16:32:27 · 1611 阅读 · 0 评论 -
async、defer与DOMContentLoaded的执行先后关系
一、HTML解析过程与DOMContentLoaded触发时机我们已经知道DOMContentLoaded的触发时间为:当 HTML文档被加载和解析完成。那么我们还需要理解HTML的解析过程。此处我们先只考虑同步js的情况。1.在既没有CSS也没有JS的情况下,HTML文档的解析过程为:DOMContentLoaded事件的触发时机为:HTML解析为DOM之后。2.有CSS无JS的情况...原创 2020-05-07 11:17:43 · 1050 阅读 · 0 评论 -
React之Redux
知识点1、Redux概念简述2、Redux的工作流程3、使用Antd实现TodoList页面布局4、创建Redux中的store5、Action和Reducer的编写6、使用Redux完成TodoList删除功能7、ActionTypes的拆分8、使用actionCreator统一创建action9、Redux知识点复习补充1、Redux概念简述由于React是一个视图层框...原创 2020-05-07 11:19:06 · 218 阅读 · 0 评论 -
input file 重复上传同一张图片失效的解决办法
项目中遇到上传图片,需要本地预览效果,测试时无意间发现,当选择A图片,然后更换为B图片,完全正常;当选择A图片,取消该图片,再测选择A图片后,发现不会再生成预览效果,出现了bug;查找相关资料后,终于找到了两个解决办法;方法一:来回切换input[type=’file’]的type属性值,可以是‘text’,’button’,’button’….,然后再切换回来‘file’ 方法二:每次取消图转载 2017-11-17 17:48:49 · 9099 阅读 · 4 评论 -
seajs添加版本号强制刷新本地缓存
最近被这套架构弄得有点晕乎,每次上线由于缓存带来不少问题。本来用gulp添加了版本号,但是由于项目特殊性并不是每次html都上传,造成gulp打包完,然后不用。针对这个问题解决过一次,但是昨晚上线又出现缓存问题,找了半天,发现是通过seajs引入的js没有添加版本号;把我查找的解决方案贴出来:seajs配置参数中有map属性为文件映射功能,其作用是通过seajs加载的文件映射为一个新的名称加载...原创 2018-03-07 18:45:27 · 861 阅读 · 0 评论 -
ajaxFileUpload上传图片
首先引入ajaxFileUpload插件然后://上传图片function uploads(){ var imgSrc = '', imgArr = [], strSrc = '' ; var file = document.getElementById("imgFile"); var browser=navigator.appName; var b_version=nav原创 2017-07-28 15:44:35 · 426 阅读 · 0 评论 -
仿select下拉框,鼠标点击元素以外隐藏下拉框
两个问题一、仿下拉框(select)二、鼠标点击元素以外 下拉框隐1、先说第一个问题:<p class="return-select"> <i></i> <span class="select-text">请选择</span></p><ul class="select-options"> <li>1</li> <li>2</li> <li>3</li>原创 2017-07-28 15:11:32 · 3541 阅读 · 1 评论 -
jQuery ajax 实现长轮询支付扫码PC交互
原理Jquery Ajax长轮询的原理主要是,前台客户端发送ajax请求到服务器,服务器接收到请求之后会保持住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。优点:在无消息的情况下不会频繁的请求,耗费资源小。 缺点:服务器保持住连接会消耗资源。长轮询介绍Web 通信 之 长连接、长轮询(long polling)基于HTTP的长连接,是一种通过长轮询方式原创 2017-11-23 15:01:59 · 2347 阅读 · 0 评论 -
jQuery插件模块化(SeaJS)及其调用方式
jQuery插件本质上是将命名空间挂在全局的jQuery或jQuery.fn上而非使用define定义的模块。 JQuery的这种扩展机制同模块化要求模块的独立性,以及模块互相隔离有点冲突。 jQuery插件数目众多,我们不打算做大量的转换工作,为模块化而模块化,甚至改变插件的调用方式, 这样对开发带来的价值不大。只希望通过模块加载器实现自动的依赖管理,按需加载,并且使用方式自然。1.常见转载 2017-12-12 15:30:07 · 1334 阅读 · 0 评论 -
javascript中new Date()的浏览器兼容性问题
引言: 同一种语言javascript,在不同的浏览器中,存在语言兼容性问题,本质上是由于不同的浏览器是支持的语言标准和实现上各有差异。本文将基于new Date来创建Date对象来分析这个问题。1. 问题的提出, 开始时间和结束时间空间无法正确的传递值在页面中,我们使用了一个时间上的组件来开发时间选择框,但是发现在Firefox下是无法正常工作的,在Chrome下是可以正常运行的。 ...转载 2018-06-04 15:55:54 · 387 阅读 · 0 评论 -
daterangepicker时间段插件 使用总结
一直觉得daterangepicker是一个很完美的插件,但是事实证明再完美的插件也满足不了所有人的需求,我主要是做的使用两个单日历实现范围选择,借此也把我查到的我认为很好的文章分享一下:一般使用daterangepicker插件的初学者可能会遇到以下四个问题:日期范围选择实现单个日期时间选择使用两个单日历实现范围选择使用div代替input实现日期时间选择下面按照顺序可以分...原创 2018-06-08 15:34:28 · 6684 阅读 · 1 评论 -
JS执行机制详解
引题JS是单线程语言Event Loop是JS的执行机制。深入了解JS的执行,就等于深入了解JS里的event loop(JS执行机制是一样的,但运行机制可能不一样 nodejs中)解释为什么JS是单线程?为什么需要异步?单线程是如何实现异步的?一、为什么JS是单线程JS作为浏览器脚本语言,它的主要用途是与用户互动,以及操作DOM,因此js是单线程,也避免了同时操作同一个...原创 2019-07-28 10:08:04 · 4560 阅读 · 1 评论 -
已知宽为屏幕的30%,高度未知,用css画个圆
今天朋友遇到一个问题,然后总结了一下div{box-sizing:border-box;width:30%;padding:15%;background:red;border-radius:50%;}div{width:30%;height:30vw;background:red;border-radius:50%;}div{原创 2016-09-20 17:47:09 · 1145 阅读 · 0 评论 -
js ajaxfileupload.js IE8 上传文件 拒绝访问(一直提示失败)
首先 ie8不支持file.files[0].size 会造成上传失败 可以做浏览器判断用相应的方法其次安全限制,必须要主动点击input控件才行,触发点击是不行的,隐藏的话不要用display:none;请使用opacity:0来隐藏(可以鼠标点击,visibility:hidden似乎也不行),IE8的话是filter:Alpha(opacity=0);然后让input一直追随鼠标移动,原创 2016-09-10 17:42:25 · 3877 阅读 · 0 评论 -
jquery中的ready与load的区别
jQuery中有两个方法——ready和load。它们非常容易混淆。这里做一下区分:jQuery中的ready特指“DOM”全部加载完毕,也就是说,只要DOM加载完毕了,这个事件自然被触发了。所谓“DOM”加载完毕指整个页面的标签部分全部加载完毕,至于说某些标签内部可能还存在着一系列事件未完成(譬如img标签可能加载远处一个很大的bmp图片尚未加载完毕等情况)则被忽略。因此对于单纯原创 2016-06-25 10:30:26 · 467 阅读 · 0 评论