IMG 2421

skydです。

HTML + CSS + JavaScriptで作る「Webアプリ」、僕も作るのですが、iOS7に一つ問題が…

alert、window.promptといったダイアログ系が、ホーム画面に登録すると動かないのです。

効かないのは、「ホーム画面に登録」されたものだけ?

「ホーム画面に登録」と一言で言ってしまいましたが、実際はそんなに簡単なものではありません。

普通のサイトをホーム画面に登録すると、それはSafariを起動するショートカットになります。

これをheadタグの中に書いておくと、単なるSafariのショートカットではなく、「Webアプリ」として認められ、アイコンが表示され、全画面モードで起動されます。アイコンとかも指定できるんですよね。

この中で、ダイアログを呼び出すと、仕様で実行できないんです。

どうすれば?

ダイアログを自分でコントロールするスクリプトを書いてあげれば、これは解決できるようです。

また、オーバーフローメニューを使えば、同じようなことが出来ます。

window.promptも、フォームを使いこなせば同じようなことができるはずです。

さいごに

Appleの中の人でもないので、どうこういうことはないと思いますが、できるなら再度対応してほしいものです。

しかし、使わないといけないようなものでもないので、自力で他のもので代用するしかないと思います。