前端仕锦

cordova与css结合实现在android上透明状态栏兼容齐刘海等异形屏

应该会有人觉得百度(google)有的东西为什么我会写出来?有我还写啥啊~手上有一个项目,是用cordova+vue的,这个不是重点,由于ios的app上架比较困难,所以优先上架android。因为习惯了在ios上透明状态栏的样式,在android上也想拥有。得赖于ios的css中safe-area-inset-*的属性,可以在cordova的ios端结合c …

小程序开发之自定义组件

因为需求的原因,小程序中有比较多需要复用的结构样式和方法,于是便考虑使用自定义组件的方式,将这些部分封装为一个组件,并在需要的页面引入。百度了下,发生搜索的结果基本都是同一篇文章的内容。而这篇文章,仅仅贴出了代码罢了。于是老夫,觉得开发自定义组件必须进行更深入的了解。1、为什么需要开发自定义组件这两个页面,其顶部都有一个搜索条,这个搜索条需要实现3个方法,点 …

小程序开发之心得

→_→ 前段时间工作和私事比较多导致荒废了博客的更新,这次准备点干货1、小程序底层思想一个完整的小程序除了相关配置文件,每个path还包含了4个文件,wxml、js、json和wxss。js文件,固然不必说了,跟常规网页一样,都是javascript(脚本);json文件,这个文件一开始困扰了我很久,因为在项目目录跟下也有一个json文件,是用于配 …

如何监听css并同步生成sprite图(二阶)

sprite图    CSSSprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所 …

angular.js初涉之路由器ngRoute

之前在做分页的时候经常会遇到一个问题,通过URL传递分页参数会导致页面加载过慢,页面有明显刷新的体验。而通过ajax访问虽然仅仅进行了局部刷新,但是用户很难直接通过 URL到达自己想要的页数,或者筛选的结果页面;用户通过浏览器返回也无法回到上一个页面对应的页码。URL有一个属性叫hash,中文名称哈希。location是javascript里边管理地址栏的内 …

使用css3语法实现2个菜单左右靠拢

好像这个标题看上去很容易的样子,但是并不是这样的。实现效果如图。右侧菜单的起始位置确定,但是宽度不确定,左侧菜单的必须靠这右侧菜单距离3像素。因为左右菜单宽度不确定,导致的一个问题是,无法计算左侧菜单的左侧偏移量或者是相对右侧菜单的右侧便宜了。修改了html结构多次无果以后,准备放弃css的方法采用js。突然想起为什么要去计算left或者是right呢?!单 …

如何监听css并同步压缩css(初阶)

一个项目如果使用一份css那么会导致css文件很大,网络上提供了不少的css压缩工具,但是都有一个问题,每次修改每次都需要手动执行压缩的过程。如何监听程序猿修改css,并自动压缩呢。这里用到的是gulp。nodejs的npm命令下载gulp,记得,项目和全局都需要gulp。接着编写脚本。这里直接放代码。var gulp = re …

canvas之drawImage中的坑

最近需要把一个div变成也就是所谓的html代码变成base64编码。一开始觉得很容易,直接调用2个官方的js包即可,结果发现,其实并没那么简单,因为这个div包含了头像,用户可能上传动图gif,比如我。动态下可能导致这个gif无法被正常转为base64,于是胡就想起了canvas把gif转成单张静态的图片。在原生的html里面canvas先定义为2d内容也 …

全面了解 Nginx 主要应用场景

前言本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx能做什么1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功 …

jquery 中 attr 和 prop 的区别

在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。上面的描述也许有点模糊,举 …

使用 NGINX 流控和 fail2ban 防止 CC 攻击

背景知识CC 攻击攻击者通过创建大量请求导致服务器资源耗尽,主要针对特定服务接口,属于实现 DoS 攻击的一种方式(DoS 攻击更多是针对网络端口,而不是具体服务接口)。NGINX 流控limit_req_zone:通过“漏桶”算法限制每个 IP 发起的请求频率。limit_conn_zone:限制每个 IP 发起的连接数。fail2ban通过匹配服务器日志 …