質問: iPhone向けwebサイトを作成していて、このサイトではlandscapeにした時には全画面表示状態にしたいと考えていますが、とある理由でrequestFullscreen();が使用できません。 safariを立ち上げて、iPhoneを横持ち画面(landscape)にしてから、画面を上から下にスクロールすると、ある程度の高さのあるwebページの場合なら上下に出ていたsafariのメニューバーが消えます。 作成中のwebサイトではこのメニューバーが消えた状態を維持したいのですが、消えた状態で下から上にスクロールを行うと、またメニューバーが表示されてしまいます。 javascriptで回避できないかと考え、画面上に作成したボタンを押すと画面を下にスクロールしてみるものを作成したのですが、jsで移動させてもメニューバーが消えることはありませんでした。 どなたか、メニューバーが消えた状態を維持する方法をご存知の方がいたら、お教えいただけませんでしょうか。 よろしくお願い致します。
回答: 回答としては「不可能」です。 「セキュリティ上、制御できなくなってます」と回答したのはJavaScriptなどを含めた方法はないという意味です。 以前は制作者側が隠すのは可能でしたが、悪意のあるサイトが既にある優良サイトを模して作った場合URLを表示しないことで「悪意のあるサイトだと分からないように悪意のあるサイトにアクセスさせる」ことが出来たため、隠すことが出来なくなりました。(と何年か前に調べて辿り着きました。URL失念) 検索すると色々とやり方が載っているかと思いますが、ブラウザによって仕様がまちまちだったりするのでどの方法もオススメできません。 ちょっと動かすというのはアクセス時に自動で少しスクロールさせるという意味かと思いますが、消えるかどうかもブラウザの仕様によりますので完璧な対応にはないと言っても良いです。 例えそれで一瞬非表示が実現できたとしても最上部にスクロールすると出るのは変わりませんしね。非表示状態の維持はあきらめた方が良いでしょう。非表示はスクロールした際にブラウザの機能でページ情報閲覧の邪魔にならぬよう見えないように隠してくれているだけです。 レイアウトを考えるときは、アクセス時にはアドレスバー込みで情報を配置するように考えていますね。