Yii2中判断当前请求是console命令行模式还是web后台模式

 

手机web开发输入框被输入法遮盖的处理方法

摘要

本文讨论H5应用的输入框被软键盘遮挡的解决方案

 

WebAPP输入框被软键盘遮挡肿么办?

当输入框处于半屏以下位置软键盘弹出时遇到的坑:
1.输入框被遮挡,看不见输入的内容
2.页面自动上移,但收回软键盘时页面少了一截
3.IOS系统上使用JRoll,IScroll等滑动方案时,光标不随输入框移动
4.软键盘弹出时窗口变小元素错位

解决方案
IOS->使用overflow:auto;-webkit-overflow-scrolling;尽量避免使用JRoll等插件
Android->使用JRoll,可使表单被遮挡时自动移到可见位置,但并不是万能的,遇到窗口大小不会变化的浏览器便会失效

建议从设计角度解决被遮挡的问题,见下文。

目前手机系统、浏览器系统众多,版本各异,表现诡异,兼容起来不比当年IE6轻松,麻辣个蛋,好不容易从PC开发跳到移动开发,还以为手机浏览器加了个-webkit前缀是万能的,握勒个去,谁知滑动卡顿、fixed走位、监听安卓返回键、某些机型focus唤不起软键盘、输入框被软键盘遮挡、安卓4.4以下不支持date等表单类型、滥用css3动画整个APP都不好了等等问题接踵而至,前端开发道远而任重啊~~呃。拿我最近的一个项目举个粟子。
继续阅读“手机web开发输入框被输入法遮盖的处理方法”

web性能优化

    • web服务器的选用

      Nginx。部分数据统计,Nginx可以保持10000个没有活动的链接,只占2.5MB内存,搭配epoll时可维护近50000个并发链接;Apache一旦达到200个进程,请求响应速度会变很慢。

    • 使用内存数据库

      Redis > Memcached。相比Memcached,Redis有以下优点:

      ①不仅支持简单的key/value类型数据,同时还提供list、set、zset、hash等数据结构的存储;

      ②支持数据的备份,即master-slave模式的数据备份;

      ③支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载使用。

继续阅读“web性能优化”