我创建了一个iPad应用程序。
我想从safari启动它。使用URL Schema,它已成功完成。
从我的应用程序中,我想发送一个链接。点击它应该打开我的应用程序。
我发送的邮件包含以下方式的内容
点击此处发布APP
这是一个锚点标签,其href =“MyApp:// someString”。
但是当我发送这封邮件时,在iPad上配置邮件,链接工作正常,但在浏览器中它不起作用。然后我才知道Yahoo,Gmail会停用除http://
现在,我想打开带有HTML Onload的URL架构MyApp://
的应用程序,类似于打开itunes.apple.com时打开我们电脑中的iTunes
使用windows.open('MyApp://')
,在onload()
功能中,我的应用也没有启动。
怎么做? 如何在加载html时启动我的应用程序?
答案 0 :(得分:3)
制作一个这样的PHP页面:
<?php
header("Location: MyApp://somestring;")(
?>
<html>
<head>
<meta http-equiv="Refresh" content="0; MyApp://somestring" />
<title>Opening App...</title>
<script>
function openApp() {
window.location.href = "MyApp://somestring";
}
</script>
</head>
<body onload="openApp();">
<a href="MyApp://somestring">Click here if app doesn't open...</a>
</body>
</html>
答案 1 :(得分:2)
我怀疑任何在线电子邮件客户端都会让您在电子邮件中运行javascript。这将是非常不安全的。如果他们拒绝处理除HTTP之外的任何其他URL模式,则可能是因为存在相同的安全问题。
我会通过像
这样的链接来解决这个问题<a href="http://mydomain.com/open-app?schema=MyApp">CLICK HERE TO LAUNCH APP</a>
然后服务器上的页面就会打印出来
<script>
window.location.href="<?= $_GET['schema'] ?>://";
</script>
(PHP中的示例)
只需确保在打印之前清除架构变量!
您可以使用正则表达式来确保它只有a-z或类似的东西。否则,您将遇到雅虎和Gmail正在避免的相同安全问题。