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 ...
随机推荐
- 使用@Value进行静态常量的值注入
@Component public class ExpressConstant { public static String URL; @Value("${express.url}" ...
- 使用ajax请求数据时的几种做法
在进行前后端交互的时候,一般前端使用ajax向后端发送数据,后端根据发送的数据来返回数据,前端将这些数据接收并进行相应的处理 以下是在日常工作中总结的几点使用ajax传递数据时的情况: 1.在本页面( ...
- 毕向东_Java基础视频教程第19天_IO流(01~05)
第19天-01-IO流(BufferedWriter) 字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应类缓冲区要结合流才可以使用. BufferedWriter BufferedReade ...
- BufferedInputStream使用详解
下面的例子演示如何使用BufferedInputStream类读取文本文件内容. 首先需要声明一个byte数组作为buffer,然后循环将文本内容循环读入到buffer中,并将buffer转换为字符串 ...
- [翻译] HTKDynamicResizingCell
HTKDynamicResizingCell https://github.com/henrytkirk/HTKDynamicResizingCell Subclassed UITableView/U ...
- Linux Reboot And Poweroff Command
1.Environment:RedHat Linux Enterprise 6+Vmware Workstation 12 Pro 2.Linux shutdown and restart comma ...
- 延期年金(deferred annuity)
含义:推迟m个时期后才开始付款的年金. 延期年金现值为 二.永续年金(Perpetuity) 永续年金:无限期支付下去的年金. 为期末付永续年金(perpetuity-immediate)的现值 表示 ...
- MySQL语法相关其一
一篇基础语法相关的笔记 // 参考资料: MySQL入门很简单 黄缙华等编著 清华大学出版社 北京 建议进入官网下载对应版本后安装:https://dev.mysql.com/downloads/my ...
- Reporting Service编程----访问Web服务
将报表服务器 Web 服务的引用添加到项目中后,下一步是创建 Web 服务代理类的实例. 然后,您可以通过调用代理类中的方法来访问 Web 服务的方法. 当你的应用程序调用这些方法时,代理类生成的代码 ...
- 36、XmlReader与 XMLWriter(抽象类)
一.概述 XMLReader为抽象类,其派生类有:XmlDictionaryReader.XmlNodeReader.XmlTextReader(与IO命名空间中的TextReader对象一起使用). ...