iOS添加快捷方式到桌面.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
iOS添加快捷⽅式到桌⾯ 前⾔ openURL、HTML、JavaScript、Data URI Scheme、Base64 等。通过这个需求顺便将这些知识都学习了,然后整理出来。 原理 操作过程其实很简单,就是在 app ⾥⾯通过 Safari 浏览器打开⼀个引导页⾯,然后点击添加到主屏幕,如下图 ,再点“添加”就⾏。后⾯点击图标直接打开app,跳转到对应页⾯。这个过程⾥⾯涉及两个问题 1. 添加到桌⾯时保存的就是引导页⾯ url,点击打开的时候为啥不是打开引导页⾯,⽽是直接跳转到 app⾥⾯,这个如何实现? 2. 没⽹的情况下点击图标,打开页⾯如何能加载页⾯内容并打开app呢? 第⼀个问题的解决办法是这样的,从 app ⾥⾯打开引导页⾯默认是⾮全屏的,但是从⼿机桌⾯点击 icon 打开是全屏的,因此可以根据是否是全 屏来执⾏对应脚本,如果是全屏那么久执⾏脚本跳转到app,如果⾮全屏则添加相应的 HTML 内容,呈现引导页。判断是否是全屏的 JavaScript ⽅法是 window.navigator.standalone,为 true 是全屏,为 false 则⾮全屏。 第⼆个问题解决办法是这样的,引导页⾯需要在没⽹的情况下也能加载,那么显然是⾸先就要保存在我们app⾥⾯,在app⾥⾯通过 openURL 打 开的页⾯没办法直接打开这个app⾥⾯的引导页⾯,因此我们写⼀个⼀个中转的HTML页⾯保存在我们服务器上,得到这个服务器上 HTML 的 url。然后使⽤ Data URI Scheme 技术,将我们本地的 HTML 页⾯转成⼀个字符串放到服务器HTML 的 url 问号后⾯。当通过到 openURL 打 开这个拼装好的 url 后,成功加载这个页⾯。然后通过 JavaScript ⽅法,获取到我们本地引导页 HTML 转的字符串,使⽤ window.location.replace()直接将当前页⾯替换为本地页⾯,然后添加到桌⾯的就是添加的本地页⾯,这⾥保存的链接就是通过 Data URI Scheme 将本地页⾯⽣成的字符串。 步骤 1. 开发引导页⾯ 引导页⾯ HTML 代码如下 !DOCTYPE html html head meta name=apple-mobile-web-app-capable content=yes meta name=apple-mobile-web-app-status-bar-style content=default meta content=text/html charset=UTF-8 http-equiv=Content-Type / meta name=viewport content=width=device-width,initial-scale=1.0,user-scalable=no / link rel=apple-touch-icon href=TransitCodeIconImageData titleTransitCodeAppTitle/title /head body a href=TransitCodeAppScheme id=qbt style=display:none/a span id=msg/span /body script if (window.navigator.standalone == true) { var lnk = document.getElementById(qbt).click(); } else { } /script /html 代码中包含的⼀些字符串含义如下: TransitCodeIconImageData:快捷⽅式在桌⾯的图标 TransitCodeAppTitle:快捷⽅式的名称 TransitCodeAppScheme:跳转页⾯对应的 scheme,⽐如 hellobike:///transitcode/home TransitCodeLaunchImageData:引导页背景图 通⽤这⼏个字符串代替实际内容,主要是为了后⾯统⼀替换,也⽅便其他业务⽅使⽤,不然写死了就只能乘车码⼀个业务使⽤了。 这⾥通过 window.navigator.standalone 可以知道引导页是否是全屏展⽰,如果是全屏那么跳转到 app 对应页⾯,⾮全屏则插⼊具体 HTML 内容,展⽰引导内容。 2. 使⽤ Data URI Scheme

文档评论(0)

A19855058659 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档