4

我创建了一个 iPad 应用程序。

我想从 safari 启动它。使用 URL Schema,它已成功完成。

从我的应用程序中,我想发送一个链接。点击哪个应该打开我的应用程序。

我发送的邮件包含以下内容

单击此处启动应用程序

这是一个锚标签,其 href = "MyApp://someString"。

但是当我将它作为邮件发送时,在 iPad 配置的邮件上,链接工作正常,但在浏览器中它不起作用。然后我才知道Yahoo,Gmail会停用链接而不是以开头http://

现在,我想使用MyApp://带有 HTML Onload 的 URL 架构打开我的应用程序,类似于在打开 itunes.apple.com 时在我们的 PC 中打开 iTunes

使用windows.open('MyApp://'), 在onload()函数中,我的应用程序也没有启动。

怎么做?html加载时如何启动我的应用程序?

4

2 回答 2

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>
于 2012-06-25T16:43:57.103 回答
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 中的示例)

只需确保在打印之前清理模式变量!

您可以使用正则表达式来确保它只有 az 或类似的东西。否则,您会遇到 Yahoo 和 Gmail 正在避免的相同安全问题。

于 2012-06-25T09:44:41.050 回答