work notes
本喵,一个快乐的web开发肥宅程序媛,参与过手机端、电视TV端、电脑端的开发。工作之余,总结了一些经验【避坑指南】分享给大家~
1. webView内嵌h5页面时,如果内嵌的页面有出现手机自带键盘或者任何可能触发手机自带键盘操作的需求,答应我,页面顶部导航栏一定要让客户端小伙伴来做。不然,且不说顶部高度需要根据各设备分辨率进行适配,单单手机自带键盘的弹出导致页面高度值及offsetTop值的变化就够你搞一个通宵的补救方案【就算搞出来了,也没有原生的顶部导航辣么完美】。对了,想要用position:fixed定位顶部导航栏的小伙伴听好了,木有用的,不要问我是怎么知道的QAQ……
2. 想要非a标签、input标签等允许获取焦点的元素获取焦点的话,加上tabIndex="1",tabIndex的值正常情况下是不影响的,可以随便填。除非你有用tab键切换焦点的需求,这样的话,需要注意一下,tabIndex值越大,tab值切换越先获取焦点。如果某元素上加上了tabIndex,不想让其点击获取焦点,只想让其按键【keyDown、keyUp等】,给这个元素加上style="pointer-events:none;"就行啦。
3. 使用jq-treetable插件的时候,需要全部展开可以用:$(元素).treetable('expandAll');即可。使用data-tt-id,和data-tt-parent-id的时候,一定注意两个值不能相同,相同会导致代码循环调用,浏览器会直接由于out of memory崩溃掉【鬼知道我为了找这个由于数据引起的bug找了多久。。。】
4. 使用bootstrap写后台代码的时候,经常会遇到自带插件不够用的情况,右转度娘:metronic,这个网站上的很多插件都可以用,源码需要付费才能下载。但是其实它里面用的插件也是网上公用的,很少有它自行开发的那种。所以这就意味着,你可以在网页上查看Element、Network等找出这个插件的名字就能用了。
5. 做手机端开发的时候,经常性有个需求就是,从客户端分享网页去微信或者QQ或者微博啥的。在微信、QQ、微博打开分享网页,有个需求是用户点击查看更多时,需要判断用户是否安装此应用,如果安装了就去打开客户端,未安装跳转到AppStore或者应用市场。
做这部分,一般需要客户端配置短链处理,网页打开直接使用location.href或者iframe打开短链即可。讨厌就讨厌在需要在社交软件里打开,QQ还好,软件未做处理,微信和微博会在打开时做拦截处理,根本不会跳转到短链上去【当然这也是为了用户的信息安全】。
在这里说一下,想去网上搜如何判断用户是否安装某应用的小伙伴不用费心了,是木有的。这时候会有小伙伴跳出来说,不对啊,为啥我从微信里打开部分软件的链接是可以一键跳转的呢?比如网易新闻啥的。哈哈,当时我的亲爱的PM也是这么质问我的。。。
脸上笑嘻嘻,心里MMP的我又跑去调研了。原来IOS9+提供了universal link的处理,可以在微信和QQ等直接打开,Android版和IOS9-的网页会直接跳转到应用宝网页版,应用宝会判断此应用是需要打开还是下载。这时候心里就琢磨,凭啥应用宝会给网易新闻这样的处理呀,不服不服!去应用宝网站一看,,,原来网易是应用宝的客户,人家花了钱的。。。
所以曲线救国,当时的处理方式为:准备一个引导页。点击分享页面,if{是IOS设备,1s后直接跳转到引导页},else{ if{是微信或微博,直接跳转至引导页}else{尝试使用iframe和location.href打开,3s延时后默认打不开软件跳转至引导页}}。引导页逻辑:判断是微信或微博【QQ可以直接打开】尝试使用iframe[仅android]和location.href打开,3s延时后默认打不开软件跳转至下载页[应用宝或AppStore]。
6. 强制不换行 p{white-space:nowrap;} 自动换行 p{word-wrap:break-word;word-break:normal;} 强制英文单词断行 p{word-break:break-all;}
*注意:设置强制将英文单词断行,需要将行内元素设置为块级元素。
嗒哒!今天先到这里喵,欢迎大家批评指正~~~
work notes的更多相关文章
- ASP.NET Core 1.1.0 Release Notes
ASP.NET Core 1.1.0 Release Notes We are pleased to announce the release of ASP.NET Core 1.1.0! Antif ...
- Android Weekly Notes Issue #237
Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...
- Android Weekly Notes Issue #230
Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...
- Android Weekly Notes Issue #229
Android Weekly Issue #229 October 30th, 2016 Android Weekly Issue #229 Android Weekly笔记, 本期内容包括: 性能库 ...
- Android Weekly Notes Issue #227
Android Weekly Issue #227 October 16th, 2016 Android Weekly Issue #227. 本期内容包括: Google的Mobile Vision ...
- Android Weekly Notes Issue #221
Android Weekly Issue #221 September 4th, 2016 Android Weekly Issue #221 ARTICLES & TUTORIALS And ...
- Android Weekly Notes Issue #219
Android Weekly Issue #219 August 21st, 2016 Android Weekly Issue #219 ARTICLES & TUTORIALS Andro ...
- MAGIC XPA最新版本Magic xpa 2.4c Release Notes
New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...
- Magic xpa 2.5发布 Magic xpa 2.5 Release Notes
Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...
- Git for Windows v2.11.0 Release Notes
homepage faq contribute bugs questions Git for Windows v2.11.0 Release Notes Latest update: December ...
随机推荐
- 计算fibonacci数(多种方法)
#include <iostream> using namespace std; //计算fibonacci数 //方法一:二分递归法,时间复杂度为O(2^n),额外空间复杂度为常数 in ...
- flask代码统计作业
用户表: create table userInfo( id int not null unique auto_increment, name )not null, password ) not nu ...
- 屏幕录像LICEcap
简介 LiceCap是一款轻量级屏幕录制工具 官网链接 windows版下载链接 Demo 以下是访问http://www.cockos.com/licecap/的屏幕录像
- 安装 Python IDLE (Linux)
Python IDLE (Integrated Development and Learning Environment) 是一个官方的轻量级 Python IDE.在不同的 Linux 的发布版本中 ...
- 动态切换tableView中的cell的种类
动态切换tableView中的cell的种类 为什么要动态切换tableView中cell的种类呢?如果项目经理不出这种需求,你也就见不到这篇文章了:) 效果: 源码: 首先,你要准备3种cell,直 ...
- Exchange Server 2016 管理邮箱收发限制
备注:本文是Exchange Server 2016管理系列的配套课件,更加详细的讲解请参考视频课程,文章结尾有视频课程主页的链接. 进行收发邮件大小的限制是很有必要的,因为邮件服务器不能当作文件服务 ...
- Microsoft Visual Studio 遇到了问题需要关闭
新年刚来Microsoft Visual Studio就找麻烦,debug的时候如果不打断点可以正常跑过,一打断点就崩溃,重启.报的问题是:Microsoft Visual Studio 遇到了问题需 ...
- [T-ARA][괜찮아요][没关系]
歌词来源: 没关系:http://music.163.com/#/song?id=22704448 没关系(Remix Ver.):http://music.163.com/#/song?id=258 ...
- python面向对象之类成员
面向对象编程: OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得简单,并可以大大提高程序开发效率.另外,基于面向对象的程序可 ...
- python 中的set与list,tuple
__author__ = 'liunnis' #-*-coding:utf-8 -*- a=[1,2,3,4,4] print a print list(set(a)) b=[str(i) for i ...