iOS7で、Webアプリのダイアログが表示されない話
2013年9月24日
skydです。
HTML + CSS + JavaScriptで作る「Webアプリ」、僕も作るのですが、iOS7に一つ問題が…
alert、window.promptといったダイアログ系が、ホーム画面に登録すると動かないのです。
効かないのは、「ホーム画面に登録」されたものだけ?
「ホーム画面に登録」と一言で言ってしまいましたが、実際はそんなに簡単なものではありません。
普通のサイトをホーム画面に登録すると、それはSafariを起動するショートカットになります。
1 |
<meta name="apple-mobile-web-app-capable" content="yes"> |
これをheadタグの中に書いておくと、単なるSafariのショートカットではなく、「Webアプリ」として認められ、アイコンが表示され、全画面モードで起動されます。アイコンとかも指定できるんですよね。
この中で、ダイアログを呼び出すと、仕様で実行できないんです。
どうすれば?
ダイアログを自分でコントロールするスクリプトを書いてあげれば、これは解決できるようです。
また、オーバーフローメニューを使えば、同じようなことが出来ます。
window.promptも、フォームを使いこなせば同じようなことができるはずです。
さいごに
Appleの中の人でもないので、どうこういうことはないと思いますが、できるなら再度対応してほしいものです。
しかし、使わないといけないようなものでもないので、自力で他のもので代用するしかないと思います。