3

jQTouch を使用して、iPhone のサファリ用に最適化されたバージョンの Web サイトを開発しています。jQTouch デモは、フル スクリーン モードを使用していないユーザーに対して「これをインストールしてください」というメッセージを表示し、使用しているユーザーに対して非表示にする方法を示しています。フルスクリーン モードの場合、ボディには「フルスクリーン」クラスが必要です。したがって、この css ルールをスタイルシートに追加することで、アプリをホームページに既に追加しているユーザーに対して「これをインストールしてください」というメッセージを非表示にすることができます。

body.fullscreen #home .info {
    display: none;
}

私がやりたいのは、ユーザーがフルスクリーン モードでのみアプリを使用することを要求することです。通常のブラウザーから表示すると、アプリのインストールを求めるメッセージのみが表示されます。それ以外の場合、そのメッセージはもちろん非表示にする必要があります。

これは非常に簡単なはずなので、明らかな何かが欠けているに違いありません。

これを行う1つの方法は、本体のクラス「フルスクリーン」を単純にテストすることだと思いました。そこにない場合は、goToを使用して別のdivに移動するか、他のdivを非表示にするか、そのようなものです。

しかし、奇妙なことに、これは機能しません。テストとして、jQTouch デモのように元の「info」メッセージがまだ表示されていますが、フルスクリーン モードで起動しても表示されません。したがって、本文にはフルスクリーン クラスが必要です。それでも、それ以外の痕跡は見つかりません。ドキュメントが読み込まれた後にこのアラートをテストしてみると、フルスクリーン モードで起動しても何も表示されません。

alert($("body").attr("class"));

また、fullScreen ブール値の値をチェックしてフルスクリーン モードをテストすることも考えました。しかし、これもうまくいかないようです。私は何が欠けていますか?これを行う最善の方法は何ですか?

4

1 に答える 1

2

標準的な方法が機能しない理由がわかりませんでしたが、jQTouch Google グループの誰かがこれを提案しました。

    if (window.navigator.standalone) {
   alert ('Thanks for launching this app your home screen')
} else {

   alert('Add this app to your home screen for the best experience')

} 
于 2010-03-12T19:15:44.143 に答える