4

iPadアプリケーションを作成しました。

サファリから起動したいです。URLスキーマを使用すると、正常に実行されます。

私のアプリケーションから、リンクを送信したいと思います。クリックするとアプリが開きます。

私が送ったメールには次のような内容が含まれています

アプリを起動するには、ここをクリックしてください

これは、href = "MyApp://someString"のアンカータグです。

しかし、これをメールとして送信すると、iPadで構成されたメールではリンクは正常に機能しますが、ブラウザーでは機能しません。それから私はYahoo、Gmailがで始まる以外のリンクを非アクティブ化することを知りましたhttp://

MyApp://ここで、 itunes.apple.comを開いたときにPCでiTunesを開くのと同じように、HTMLOnloadを使用してURLスキーマでアプリを開きます。

を使用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 に答える