2017 年中国技能大赛(网站设计)参赛感悟

前言

有幸在公司组织下,参加了2017年中国技能大赛(网站设计)决赛,决赛完毕,公布一下大赛源码,及相关感悟吧!

关于大赛

大赛是市一级大赛,还有开幕式等仪式。比赛为期一天,分为上午和下午场,考试题目请查看:https://github.com/confidence68/Tic-Tac-Toe_byexam/blob/master/%E5%86%B3%E8%B5%9B%E8%AF%95%E9%A2%98/%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1_%E5%86%B3%E8%B5%9B%E6%A0%B7%E9%A2%98.pdf

上午场主要是页面重构,制作自适应网站,不过时间比赛时间只有2个小时,时间很紧。

由向Request Headers添加信息想到CORS跨域资源共享

前言

如何向Request Headers添加信息?添加信息的方法是比较简单的。我们可以用普通的ajax来添加。但是为什么要添加信息?添加信息的作用是什么?CORS跨域资源共享,我之前文章也介绍过,但是跨域资源共享的具体流程和请求方式有哪些?今天这篇文章,我们就来具体介绍一下!

ajax 头部添加信息方式

ajax头部信息修改有2种方式,一种是在beforeSend中设置,例如如下:

$.ajax({
  url: "haorooms",
  beforeSend: function( xhr ) {
    //xhr.overrideMimeType('text/xml'); 语句将覆盖发送给服务器的头部,强制 text/xml 作为 mime-type
    xhr.setRequestHeader('X-Test-Header', 'test-value');//设置RequestHeader头部信息
  }
})
 .done(function( data ) {
 });

什么是js深拷贝和浅拷贝及其实现方式

前言

这个月太忙了,一直没时间更新博客。帮楼下房友用react写系统,react终于应用于实际项目了。房友前端技术栈是react+dva+antd+nodejs+webpack,这些后面有时间具体总结。今天写一下js的深拷贝和浅拷贝,这个名词经常听到,但是可能有的同学不是很明白他们的意思。今天就用浅显易懂的语言和大家介绍一下!

浅拷贝

浅拷贝其实我之前有文章具体讲过,不过没有提及这个名词罢了,例如:js内存空间及this关键词详解,这篇文章,里面讲到如下:

前端浏览器缓存及代码部署

前言

最近手上刚刚拆掉石膏,去楼下房友帮忙。楼下房友领导来自阿里,前端用的是阿里的ant-design,设计将设计图上传到蓝湖,聊天工具也采用阿里的钉钉。有时间我也多多去楼下房友交流学习,多交流,就会有提升。最近也比较忙,好久没有更新博客了。闲言少叙,今天主要谈谈前端性能优化之浏览器缓存。

浏览器缓存

我前面写过浏览器缓存的文章,也写过html5离线缓存,关于这些缓存,我们很容易搞不清,例如:200 OK (FROM MemoryCache、FROM DiskCache) 及 304 NOT MODIFIED 还有 application cache (离线缓存)等等。

由iPhoneX适配问题想到的

前言

iPhoneX还没有正式开售,目前网上对其适配就引发了不少争论和吐槽。下面我就来谈谈ios11的WebView Viewport 及iPhoneX刘海想到的。

ios11的WebView Viewport

为了适应iPhoneX的刘海,ios11顶部状态栏做了更改,更改之后,我们在iphone8中,假如设置一个固定元素,top: 0。就会出现如下情况。