分类 折腾不止 下的文章

Workbox

随着 Web 的快速发展,用户对站点的体验期望值越来越高,前端工程师有时候为了几十毫秒的速度优化而费劲心思,消耗大量时间。想要让自己的产品在无数产品中脱颖而出,就必须提升产品的性能和体验。在时间成本高昂的今天,响应速度的提升是开发者不得不面对的话题。

前端工程师有很多性能优化的手段,包括 CDN、CSS Sprite、文件的合并压缩、异步加载、资源缓存等等。其实我们绝大部分情况是在干一件事情,那就是尽量降低一个页面的网络请求成本从而缩短页面加载资源的时间并降低用户可感知的延时。当然减少用户可感知的延时也不仅仅是在网络请求成本层面,还有浏览器渲染效率,代码质量等等。

我们这里要讲到的是一个叫做 Service Worker 的东东。

- 阅读剩余部分 -

项目中用到了弹窗居中,有些弹出正常,有些弹出就模糊。这就比较奇怪了,一样的样式,为啥会出不同的结果呢?

css水平居中是有很多办法的,项目里面用的是这样的居中方式:

position: absolute;
left: 50%;
transform: translateX(-50%);

然后一点一点的去掉样式,定位到是transform导致的!用搜索引擎查了下,果然不止我一个人有问题,看来有解决方案了。

原来出现模糊的原因是因为元素的高度、宽度中有奇数, 使用类似translate(-50%,-50%)之后,相当于宽度、高度除以2的效果,会出现 0.5px。像素就是最小的单位了,要么1,2,3,要么就是0,没有小数。

好在这个项目里面的弹出层宽度是可以设置宽度的,看了下这个模糊的弹出,设置的宽度是865px,好吧,那就改改宽度解决问题!但是,如果是不定高度垂直居中呢?这就比较棘手了,不能用这个方案了,所以transform对于居中不是一个好的解决方案,在实际项目中应该尽量避免此方案!

所以,如果考虑兼容就老老实实的用table + table-cell方式去居中,不考虑兼容的话使用flex方式去居中!

有时候博客上面要分享一些文档之类的,不仅仅可以下载,还需要在线预览。就像我要分享VUE的那个PPT,之前是放在SlideShare上面的,后来被墙了,只能放在国内的MySlide,但是有些问题就是转换之后效果没了,或者文字错位了,这个是不能忍受的。

后来查了查Office他爹,其实早在之前就做了Office文档的在线查看编辑的功能,只不过不知道!

- 阅读剩余部分 -

表单修饰符

.lazy

在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步:

<!-- 在“change”时而非“input”时更新 -->
<input v-model.lazy="msg" >

- 阅读剩余部分 -

官方文档:https://hitokoto.cn/api

做成通用的了,放在functions.php里面

function getHitokoto(){
  $url = 'https://v1.hitokoto.cn/?c=g'; // http://api.hitokoto.cn/
  $array_data = json_decode(file_get_contents($url),true);
  $content = $array_data['hitokoto'].'----《'.$array_data['from'].'》';
  echo $content;
}

调用:

<?php getHitokoto(); ?>

代码还有优化空间,抽空加一个缓存吧,频繁的请求,一言就给我502了。

看到评论里面乱码同学有今日诗词API,推荐使用。

最近一直在折腾博客,只涉及到了一些代码,并没有改变什么样子,所以估计是看不出来。

第一个就是把归档加上去了,这样以后再找文章也许会方便一些,顺便把时间也格式化了一下。

第二个就是把Flickr相册缓存到七牛上面,并且加上了灯箱的效果,有一点点逼格了。

最后就是把推特也放到博客里面了,就是玩玩而已,没有太大的作用,预计把他改成侧边栏会好一些。

折腾了好多代码,对PHP也有了进一步的了解,准备学下Python,听说很好玩。