受「http://yishu.cnbang.net/[伊书 by @bang]」启发。
Manifest 文件是用来配置需要缓存的或者一定要保持联网缓存的配置文件。
记得加上 version
来手动控制文件的更新。
-
viewport:设定移动设备视角,包括宽度、缩放、是否允许缩放 The viewport metatag (Mobile web part 1)
-
apple-mobile-web-app-capable:iOS 特有标签,表示使用全屏视图
-
format-detection 自动检查特定格式,比如电话号码
-
apple-mobile-web-app-status-bar-style 设定系统状态栏风格
-
iOS 特有标签查看 Apple-Specific Meta Tag Keys
-
apple-mobile-web-app-capable: 模式下的点击阴影,使用
-webkit-tap-highlight-color: rgba(0,0,0,0);
消除
检测 Web 页面 的 iPhone 是否 App 运行状态。
-
Manifest
-
Web SQL Database * http://www.w3.org/TR/webdatabase/
-
LocalStorage 5M → 10M Limit of localstorage on iPhone?
-
SessionStorage
-
indexedDB
iOS 5 localStorage 限制 5M,用户申请之后可以获取 10M。 我现在解决办法是不放太长的书 + 分卷。 可以考虑使用 Web SQL Database。
appCache.onprogress = function(e) { var percent = ""; if (e && e.lengthComputable) { percent = Math.round(100 * e.loaded / e.total) } else { percent = Math.round(100 * (++progresscount / 8)) } self.ui.updateDownloadPercent(percent); };
Dom 切换 vs 多栏 -webkit-column-width
获取分栏之后的栏位数目 $('#content chapter > :last'.potion()
)。
jQuery 实现 jQuery.animate({'left': left}, 200)
卡
CSS3 实现 -moz-transition: left 201ms;
卡
CSS3 WebGL 硬件加速实现 不错
self.$chapter.css('-webkit-transform','translate3d(' + left + 'px, 0, 0)'); // 硬件加速
iScroll 用来模拟原生应用的拉屏效果。
iScroll 需要延迟加载。
MCRV 结构设计。
Shiu 拆分了 App / Model / Ui / UiCompent / Db / Util
孙峻文同学的 Behind Tetris5 系列
受 Django / RoR 启发,我写了一个 Python 脚本 manager.py 用来管理项目, 功能包括:启动一个静态服务器 / 转换图书格式。
运行 ./manager.py -s -p <PORT>
运行静态服务器,默认端口是9999。
运行 ./manager.py --parse-txt ./book/src/jiangye/* --parse-txt-output ./book/jiangye.js
来转换文本格式。
运行 ./manager.py --help
可以查看到帮助。