ios的坑

我们的一个小应用,用localStorage做了下缓存,测试上线之后有反馈页面数据拉取不到,

最后定位到是localStorage有问题。

是Private Browsing Mode引起的。然后查看IOS的safari没有发现隐私设置什么的

后来点击右下角小框框发现有个无痕浏览的模式。MD,关闭后一切正常

复制代码
// Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem
// throw QuotaExceededError. We‘re going to detect this and just silently drop any calls to setItem
// to avoid the entire page breaking, without having to do a check at each usage of Storage.
if (typeof localStorage === ‘object‘) {
try {
localStorage.setItem(‘localStorage‘, 1);
localStorage.removeItem(‘localStorage‘);
} catch (e) {
Storage.prototype._setItem = Storage.prototype.setItem;
Storage.prototype.setItem = function() {};
alert(‘Your web browser does not support storing settings locally. In Safari, the most common cause of this is using "Private Browsing Mode". Some settings may not save or some features may not work properly for you.‘);
}
}
复制代码
。提示用户关闭无痕模式。

***************************************************
try {
localStorage.setItem(key, d);
} catch (e) {
alert("您处于无痕浏览,无法为您保存");
}

时间: 2024-12-13 00:17:01

ios的坑的相关文章

Unity3d 开发之 lua 在 IOS 上坑的总结

相同的 lua 代码在安卓上能正常运行,但在 IOS 上可能不会正常运行而导致报红,崩溃等,我在使用 lua 编程时遇到的一些坑总结如下: 1. File.ReadAllText, 诸如以下代码在 ios 上会崩: local path="C:/1.txt"; local file=luanet.import_type("System.IO.File"); local text=file.ReadAllText(path); 正确写法如下: local path=&

web移动端h5开发--ios的坑

一号坑:ios上点击事件失效问题? 解决方法: 1.将 click 事件直接绑定到目标?元素(??即 .target)上2.将目标?元素换成 <a> 或者 button 等可点击的?元素3.将 click 事件委托到?????非 document 或 body 的??父级元素上4.给?目标元素加一条样式规则 cursor: pointer; 原文地址:https://www.cnblogs.com/wangchengb/p/11434377.html

iOS 小坑集锦

在做自己的第一个 iOS app,一路遇到不少困难,好在靠 Google 和 StackOverflow 都解决了,自己也不知道是否是 best practice,为了赶进度只要 work 就好. 隐藏 Tab bar 在以 Tab bar 划分模块的 app 中有些非一级界面是不需要底部的标签栏的,只需要在该 ViewController 的viewWillAppear:中加入设置标签栏隐藏的语句: - (void)viewWillAppear:(BOOL)animated { [super

ios 踩坑记录

一.js 页面history.back()返回上一页,ios 不重新加载js的解决办法 主页面跳转到子页面,选择完数据回调到主页面赋值.Android正常,ios不重新加载js方法 (function ($, doc) { var isPageHide = false; window.addEventListener('pageshow', function () { if (isPageHide) { window.location.reload(); } }); window.addEven

iOS新手入门笔记(一) 前言

初次作为 iOS 用户是在2010年的春节,第一部iOS设备是国行合约机的 iPhone 3GS ,被砍掉了 Wi-Fi 模块的那个版本. 清晰的记得那天晚上拿到手机,躺书房的床上,一瞬间就把我这个曾经坚定的塞班用户拉进了 iOS 的坑,脑子里只有一个想法:这太牛逼. 那时连一行 Hello World 都不会写,然而四年之后,我却成为了 iOS App 开发者中的一员. 到现在为止算是入门4个月了,早就想写个博客记录一下学习的过程.然而在选择在哪写这个问题上纠结了太长的时间,略过不表.今天下班

IOS 6.0+ Autolayout — UITableViewCell 高度调整

要实现的效果 要求: storyboard上的准备工作 建好cell自定义AutoCell 类,关联好控件,事先准备好一些数据源 实现tableview的委托方法 核心部分,HeightForRow方法实现 具体的计算高度方法是现在自定义cell类中 几大需要注意的地方 在ios6.0上测试 要实现的效果 要求: 一般titleLabel 仅显示一行标题,高度为固定. imageview 大小也为固定. detailLabel 宽度固定,但高度根据文本动态调整. cell 底部拒imagevie

(转)iOS 最佳实践

本文转自http://www.jianshu.com/p/b0bf2368fb95 感谢作者和译者 iOS最佳实践 iOS最佳实践 译者注 本文翻译自 futurice 公司的 iOS Good Practices,译文在 Github 上进行维护,同时在简书 上进行发布. 本文发出几天后发现网上也有了另外一个翻译版本:http://ios.jobbole.com/81830/ 原标题是iOS Good Practices,应该翻译成 iOS 良好实践/优秀实践的,不过好拗口,而且已经发出去了,

IOS 7.0+ Autolayout — tableviewCell height

要实现的效果 要求: 一般titleLabel 仅显示一行标题,高度为固定. imageview 大小也为固定. detailLabel 宽度固定,但高度根据文本动态调整. cell 底部拒imageview 的底部以及detailLabel 底部高度都是大于等于20. 当detailLabel文字很少时,cell底部拒imageview底部维持20,这时detaillabel底部距cell 底部大于20. 当detailLabel文字很多时,cell底部距imageview底部超过20,与de

Xamarin IOS绑定微信SDK

上篇文章分享了Xamarin Android绑定微信SDK,由于Java和C#的语法相似度比较高,所以转换起来基本上问题不大,IOS的坑就要稍微多一点了,不过没关系我们来一步步的分析. 1. 在微信开放平台官网https://open.weixin.qq.com/ 申请一个开发者账号,填写公司APP信息,通过审核.申请成功的APPID在项目中会使用到.然后下载官方的IOS_SDK 下载地址 2. 将下载后的文件在Mac中打开 3. 接下来我们要将这几个.h文件转换为C#文件,这个时候就需要用到一