在 ipad 应用程序网页上触发 HREF
Posted
技术标签:
【中文标题】在 ipad 应用程序网页上触发 HREF【英文标题】:Firing HREF on ipad app webpage 【发布时间】:2016-02-23 14:55:42 【问题描述】:我正在创建下载应用安装网页。但是,我正在使用 html 来尝试触发此链接。 该链接会触发,但有时会出现一个提示,显示在 App Store 中打开,然后当您单击打开时,它会打开安装弹出窗口以安装应用程序。然后,当您按下然后移动(ontouchmove)时会发生另一个弹出窗口,最后它会创建一个提示,即 safari 无法打开页面,因为地址无效。我尝试了强制触发器和脚本,但似乎没有任何效果,也许是新的 iso 9 东西。
<body ontouchmove="event.preventDefault();" >
<a ontouchend="window.location='itms-services://?action=download-myapp';">
<div class="top" style="position:absolute;top:0px;left:0px;width:1024px;height:640px;background:u rl() no-repeat;"></div>
<div class="" style="position:absolute;top:0px;left:0px;width:1024px;height:640px;" ontouchstart='this.style.background="url() no-repeat"' ontouchend='this.style.background=""'></div>
</a>
【问题讨论】:
【参考方案1】:我对你的示例中的一些 <div>
s 有点困惑,它们似乎没有做任何事情。
无论如何,这是我在我们的 Intranet 网页上使用的非常简单的代码,它允许用户下载和安装我们内部的 iPhone 应用程序:
<script type="text/javascript">
function onInstall()
window.location = "itms-services://?action=download-manifest&url=https://......../MyIphoneApp.plist";
</script>
<body>
<div onclick="onInstall()">
Download my iPhone app
</div>
</body>
请记住,指向 .plist 文件的 URL 必须是 https
,而不是 http
。
(这很容易做到,只需将 .plist 文件保存到 Dropbox 文件夹中,然后获取 Dropbox URL。)
此外,请确保您根据需要使用 299 美元的 Apple 开发者许可证(而不是 99 美元的单用户许可证)来创建 Ad-Hoc 和内部应用程序。并且您需要使用使用企业证书的配置文件。
如果弄错了,Xcode 会很乐意让您创建和存档企业应用程序,这将是一团糟。它可能会开始下载并安装到用户的设备上,然后放弃,并出现令人绝望的误导性“应用程序无法安装此时”类型错误。
还要确保您的 .plist 的捆绑版本号与您的项目完全匹配,否则,它将再次开始下载和安装,然后放弃,没有解释原因(设备日志上也没有任何内容)。
我已经烧了很多,很多,追着我的尾巴,由于在这方面完全没有错误报告......
【讨论】:
我尝试了这段代码,虽然它可以正常工作。当我单击并移动并放手时,它不会触发。我正在尝试解决这个问题。 呃,你不应该点击,你应该点击。这是一个网页代码,应该在 iPad 或 iPhone 上的 Safari 浏览器中查看,然后将启动 ios 进程以安装内部应用程序。 顺便说一句。摆脱你身上的“onTouchMove”。将代码直接剥离到我上面显示的行,并说明在 iOS 设备上运行时会发生什么。 我在敲击移动的时候还是会出现同样的问题。以上是关于在 ipad 应用程序网页上触发 HREF的主要内容,如果未能解决你的问题,请参考以下文章
UITapGestureRecognizer 在 iPad 上触发,但在 iPhone 上不触发,但代码相同
AngularJS谷歌地图点击事件不在ios设备ipad和iphone中触发