crp205

crp205 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑

一个喜欢陈奕迅的网页前端新手
正在努力上分中0.0

个人动态

crp205 回答了问题 · 2019-12-13

vue构建一个网站正在维护升级的页面,请问在哪里找模板?

既然是所有, 最方便就是访问时重定向到 正在升级的 静态页面

关注 3 回答 2

crp205 回答了问题 · 2019-11-06

解决vedio.js在安卓手机的微信公众号里,无法自动播放?且点击播放后自动全屏的问题。

  1. 自动播放是被禁止的, 可以从交互上解决, 让用户有个点击行为就可以设置播放了
  2. 微信自带浏览器贼坑,总是自动全屏, 目前video标签加上这三个属性可以解决大部分的机型

    x5-playsinline webkit-playsinline  playsinline

关注 3 回答 3

crp205 回答了问题 · 2019-09-16

vue 一个组件是 另一个组件的 插槽 怎么传参?

vm.$parent

关注 3 回答 2

crp205 回答了问题 · 2019-09-06

解决react hooks 中 setState 的疑惑?

第二个count + 1由于闭包的关系, 实际上第二次执行的count + 1里的count依然是1 , 也就是执行了两次 setCount(2)

关注 2 回答 2

crp205 回答了问题 · 2019-08-22

解决vue vant 源码 中一个语法问题

一般都不会这么写啊, 你看到这个是因为你看的是编译后的代码, 这种骚操作也没必要学

关注 6 回答 4

crp205 回答了问题 · 2019-06-10

解决js图片转base64后赋值全局变量

function compress(fileObj,formData,url, cb) {
  var reader = new FileReader();
  reader.readAsDataURL(fileObj)
  reader.onload = function(e) {
      var image = new Image()     //新建一个img标签(不嵌入DOM节点,仅做canvas操作)
      image.src = e.target.result    //让该标签加载base64格式的原图
      image.onload = function() {    //图片加载完毕后再通过canvas压缩图片,否则图片还没加载完就压缩,结果图片是全黑的
          var canvas = document.createElement('canvas'), //创建一个canvas元素
          context = canvas.getContext('2d'),    //context相当于画笔,里面有各种可以进行绘图的API
          imageWidth = image.width / 4,    //压缩后图片的宽度,这里设置为缩小一半
          imageHeight = image.height / 4,    //压缩后图片的高度,这里设置为缩小一半
          data = ''    //存储压缩后的图片
          canvas.width = imageWidth    //设置绘图的宽度
          canvas.height = imageHeight    //设置绘图的高度
          
          //使用drawImage重新设置img标签中的图片大小,实现压缩。drawImage方法的参数可以自行查阅W3C
          context.drawImage(image, 0, 0, imageWidth, imageHeight);
          
          //使用toDataURL将canvas上的图片转换为base64格式
          data = canvas.toDataURL('image/jpeg');
          formData.append("imageBase64",data);
          cb && cb()
      }
  }
}
function checkType2() { 
  var activityTime = $('#activityTime').val(),
      activityTates = $('#activityTates').val()
      activityOther = $('#activityOther').val()
      activityDetails = $('#activityDetails').val();
  var imageFile = document.getElementById('fileUpLoad2').files[0];
  if(imageFile.size/1024 > 10250) { //大于1M,进行压缩上传
      toast("您上传的图片过大,请重新上传!")
      return;
  }
  var formData = new FormData();
  formData.append('activityTime', activityTime);
  formData.append('activityTates', activityTates);
  formData.append('activityOther', activityOther);
  formData.append('activityDetails', activityDetails);
  //formData.append('imageFile', imageFile);
  compress(imageFile,formData,"/small_front_contract/workorder/otherNetInformationCollect", function () {
      $.ajax({
        url: "/small_front_contract/workorder/otherNetInformationCollect",
        type: "post",
        data: formData,
        dataType: 'json',
        contentType: false,
        processData: false,
        mimeType: "multipart/form-data",
        success: function (data) {
            if (data.code == 0) {
                toastAndRefreshToIndex("友商活动采集成功!");
            } else {
                toast(data.msg);
            }
        },
        error: function (data) {
            toast(data.msg);
        }
    }); 
  });
  
} 

关注 4 回答 3

crp205 回答了问题 · 2019-06-10

请教微信小程序维护登录态怎么使用Promise改写?

    class Ready {
        constructor (pro) {
            this.successQueue = {}
            this.failQueue = {}
            this.id = 1
            this.isSuccess = false
            this.isFail = false
            this.successInfo = void 0
            this.failInfo = void 0
            this.startFetch(pro)
        }
        ready (fn) {
            if (this.isSuccess) {
                setTimeout(() => {
                    fn(this.successInfo)
                }, 0)
            } else {
                this.successQueue[this.id++] = fn
            }
            return this
        }
        fail (fn) {
            if (this.isFail) {
                setTimeout(() => {
                    fn(this.failInfo)
                }, 0)
            } else {
                this.failQueue[this.id++] = fn
            }
            return this
        }
        updateReady (data) {
            Object.keys(this.successQueue).forEach(key => {
                this.successQueue[key](data)
                delete this.successQueue[key]
            })
        }
        updateFail (data) {
            Object.keys(this.failQueue).forEach(key => {
                this.failQueue[key](data)
                delete this.failQueue[key]
            })
        }
        startFetch (pro) {
            pro.then(data => {
                this.isSuccess = true
                this.updateReady(data)
                this.successInfo = data
            }).catch(err => {
                this.isFail = true
                this.updateFail(err)
                this.failInfo = err
            })
        }
    }
    function init (pro) {
        return new Ready(pro)
    }
    
    let pro = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(1)
        }, 5000)
    })
    let wait = init(pro)
    wait.ready((info) => {
        console.log(info)
    })

关注 6 回答 4

crp205 回答了问题 · 2019-04-29

解决网页如何实现在放大视图时重新绘制img图片?

animation-fill-mode: none; 你样式里这个改为none试试

关注 3 回答 2

crp205 回答了问题 · 2019-04-28

python flask 如何高效实现前端向后台传递参数?(如果不使用ajax)

前端跳授权链接的时候加上当前的url

关注 3 回答 1

crp205 回答了问题 · 2019-03-14

解决npm官网的鼠标悬停时选中当前div是什么事件?

监听元素的mouseover事件, 改变背景色, 复制内容(第三方库可以用clipboard.js)

关注 4 回答 3

认证与成就

  • 获得 275 次点赞
  • 获得 19 枚徽章 获得 1 枚金徽章, 获得 4 枚银徽章, 获得 14 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-06-29
个人主页被 3.2k 人浏览