前言 前阶段,测试提了个bug,在苹果手机中无痕模式下,搜索按钮不好使,无法跳页,同时搜索历史也没有展示(用户搜索历史时使用localStorage存储). 正文 iOS上Sarfari在无痕模式下,浏览器假装支持localStorage,并在全局window上暴漏了该方法,所以校验是有localStorage对象的,但是调用setItem进行保存的时候,就报Error: QuotaExceededError ... : The quota has been exceeded.   因此,进行了…
myStorage在ios safari无痕浏览模式下的解决方案 今天看到了这个帖子LocalStorage 在 Private Browsing 下的一个限制, 吓尿了,如果用户开启了无痕浏览,app几乎就废了,虽然做了plus.storage的兼容,不过会很慢很慢滴. 赶紧测试一下.... 还好,暂时没问题. 我这小心肝终于平静了. 万一,万一,万一有影响呢,还是做下容错吧,代码放到了github上,这里就不贴出来了. myStorageForPrivateBrowing…
昨天下午,测试提了一个bug,问题是:在苹果手机Safari无痕浏览模式下系统登录成功但是页面不跳转. 思前想后找了半天没思路,后来经过同事的点拨,说可能是禁用了cookie之类的,反正我也没思路就顺着这个发散,结果还真是,localStorage无法在苹果Safari的无痕浏览模式下使用,因为不支持,具体解决办法就是加个判断,看看浏览器是否支持localStorage. function isLocalStorageSupported() {        var testKey = 'tes…
现如今好多浏览器都有「隐身模式」,Safari 管这叫「Private Browing」,国内各种牌子的套壳浏览器叫「无痕浏览」.私以为从命名上来说,倒是国内更中文一些. 这种模式下浏览网页踏雪无痕,雁过不留声.具体来说,与正常模式的区别是浏览器不会保存历史记录,没有页面缓存,所有本地数据也都是临时的,页面关闭后无法还原.譬如本文下面要讲到的 localStorage. 并不是说这种模式下绝对安全,服务器仍然对用户的浏览是有感知的.所以 IP 什么的依然可以追踪.这世界并不如我们天真设想般烂漫.…
事件回顾 做了一个移动端的页面,测试的时候出现了一个诡异的 bug.别的浏览器都好好的,就 ios 的 Safari 浏览器页面停止了渲染,似乎是有一段 js 文件没有载入.但是奇怪的是,同一型号的 iphone 的 Safari 浏览器,有些可以,有些不行,一度让我以为不可能是代码的问题(如果是代码的问题,应该都挂才科学啊),而是个别机器的原因.但是最后的最后,定位出来的原因是 Safari 开启了 无痕浏览模式! 就是这样: DEBUG 当然,除了 Safari 开启了无痕浏览外,另一个重要…
在safari浏览器里有一个“添加到主屏幕”选项,我们可以用来创建伪Web App,下面来了解一下iOS中Safari的私有属性 第一步设置Web App的主屏幕图标: 有两种属性值apple-touch-icon和apple-touch-icon-precomposed,区别就在于是否会应用iOS中自动给图标添加的那层高光. <link rel="apple-touch-icon-precomposed" sizes="57x57" href="i…
众所周知虽然Google大部分的业务已经迁出中国大陆,访问Google的中国站点只会出现一个投影网站,但是很长一段时间里如果想要访问Google仍然能跳转到google.com.hk这个香港的节点,这对一些人来说影响倒不大,轻量级的用户只要能用就觉得心满意足,但是,后来这件事情变得糟糕了,嗯,是的. 现在,我们仍然能够自由的访问google.cn,但是我们已经不能自由的使用Google了! 在某些时候,国内的搜索引擎服务商能够很好的提供力所能及的服务,但是近期国内最大的服务商出现的状况让人担忧,…
OS X 和iOS 中的多线程技术(下) 上篇文章中介绍了 pthread 和 NSThread 两种多线程的方式,本文将继续介绍 GCD 和 NSOperation 这两种方式.. 1.GCD 1.1 什么是GCD GCD 全称 Grand Central Dispatch,可译为"牛逼的中枢调度器" GCD 基于纯 C 语言,内部封装了强大的函数库 1.2 使用 GCD 有什么优势 GCD 是苹果公司为多核的并行运算提出的解决方案 GCD 会自动利用更多的CPU内核 (如 二核 ,…
首先,还是要说,任何一种新特性的引入,通常有着其特有的场景和解决的目标需求,localstorage也一样.在我们的应用场景中,主要在金融业务服务的saas系统.其中涉及很多更改频率很多的元数据的客户端缓存问题,这是我们使用它的一个关键因素,document之间的传递则不是我们选择它的原因,因为我们可以在框架层面自行统一处理. 各浏览器对localstorage的支持情况如下: 简单的讲,localStorage的原理就是浏览器为每个域名划出一块本地存储空间,用户网页可以通过localStora…
网页中的select下拉列表,文字太长的话在iOS的Safari浏览器里会被自动截断,显示成下面这种: 安卓版的浏览器则没有这个问题. 如何让下拉列表中的文字在iOS的Safari浏览器里显示完整呢?答案是使用<optgroup></optgroup>标签.有关optgroup标签的作用可以查看w3school网站的说明. 正常select下拉列表的html是这样: <select id="sel_model" class="form-contr…