美文网首页
问题总结

问题总结

作者: 阳光小美女king | 来源:发表于2019-12-13 11:47 被阅读0次

1. 取消axios请求

const CancelToken = axios.CancelToken;
const source = CancelToken.source();

axios.get('/user/12345', {
  cancelToken: source.token
}).catch(function (thrown) {
  if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  } else {
    // handle error
  }
});

axios.post('/user/12345', {
  name: 'new name'
}, {
  cancelToken: source.token
})

// cancel the request (the message parameter is optional)
source.cancel('Operation canceled by the user.');

You can also create a cancel token by passing an executor function to the CancelToken constructor:

const CancelToken = axios.CancelToken;
let cancel;

axios.get('/user/12345', {
  cancelToken: new CancelToken(function executor(c) {
    // An executor function receives a cancel function as a parameter
    cancel = c;
  })
});

// cancel the request
cancel();

Note: you can cancel several requests with the same cancel token.

2. input type=file 上传图片问题

(1) 多次上传同一张图片,且避免重复点击触发多次相册

onInputClick(event) {
    // 可二次上传同一张图片
    event.target.value = null;
    // 避免连续点击时重复打开相册
    if (photoLoading) {
      event.preventDefault();
    }
    photoLoading = 1;
    setTimeout(function() {
      photoLoading = 0;
    }, 500);
  }

(2) <input type="file" accept="image/jpg,image/jpeg,image/png"/>点击上传图片,会导致部分安卓设备黑屏并死机

  • 原因:不支持input的accept属性
  • 方案:去除accept属性<input type="file" />,目前遇到该问题的有: android 6.0.1

3. 获取元素距离屏幕顶部的高度

var mTop = document.getElementById('fff').offsetTop;
    //减去滚动条的高度
    var sTop =  window.pageYOffset  //用于FF
    || document.documentElement.scrollTop  
    || document.body.scrollTop  
    || 0;
    var result = mTop - sTop;

4. css 设置iphonex 底部安全区域

  $safeArea:34px;
  //iphoneX、iphoneXs
  @media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
    padding-bottom: $safeArea;
  }
 
  //iphone Xs Max
  @media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio:3) {
    padding-bottom: $safeArea;
  }
  
  //iphone XR
  @media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio:2) {
    padding-bottom: $safeArea;
  }

5. 解决浏览器不支持跨域请求,控制台执行:

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/your name/MyChromeDevUserData/

相关文章

  • 问题总结

    蚂蚁金服一面:分布式架构 50分钟 1、个人介绍加项目介绍20分钟 2、微服务架构是什么,它的优缺点? 微服务架构...

  • 问题总结

    每天上午的状态挺好的,一到下午就变样了,不知道为啥,挺迷糊的!看到大家的分享,先把话术内容提高质量先,请大家帮忙看...

  • 问题总结

    1. Mac下使用IDEA创建了一个Maven项目,部署到本地tomcat后,运行总是报404错误。 解决方法:部...

  • 问题总结

    方法嵌套问题 最近遇到需要进行嵌套调出数据,但是如果在里层用外...

  • 问题总结

    1.做项目的时候,把任务明确的分配,不要使用开玩笑的口吻交代任务,很容易造成误解。2.以后写页面,一个流程一个流程...

  • 问题总结

    1.dSYM你是如何分析的?2.多线程有哪几种?你更倾向于哪一种?3.单例弊端?4.如何把异步线程转换成同步任务进...

  • 问题总结

    为什么要用felx? 布局的传统解决方案,基于盒状模型,依赖display属性 +position属性 +floa...

  • 问题总结

    1、在后台添加了两至三个产品模块后,如何在首页显示(注:不是导航栏)。

  • 总结问题

    1、代理和block的区别: 代理优势:代理占用系统资源小,只是存储了一个对象指针,有三个方法以上的话建议使用代理...

  • 问题总结

    web端常见问题: 1.未分页展示,只展示1页 2.提示语缓存未清空,再次进入页面,仍然展示提示语 3.字段取值问...

网友评论

      本文标题:问题总结

      本文链接:https://www.haomeiwen.com/subject/rbcfnctx.html