JavaScriptサポートの有無にかかわらず、ブラウザ用のjQueryモバイルアプリを作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4621576

質問

私はjqueryモバイルに頭を包み込もうとしています。私の目的は、ネイティブアプリに可能な限り近くにあるルックアンドフィールで非常に高速なアプリケーションを構築することです(少なくとも最新のデバイスの場合)。

ページ間でナビゲートする2つの方法があることを理解しています。

  1. 各ページを別のページとしてロードし、通常のHTMLアンカーを使用して他のページにリンクします。

  2. すべての(または多くの)ページを1つのWebページに配置し、JavaScript($ .Mobile.ChangePage(メソッド)および同様のAPI関数によってそれらの間をナビゲートします。

最初のアプローチはすべてのブラウザで動作するはずですが、各ページの移行間に遅延があるため、非常に貧弱に機能します。

2番目ははるかに高速になるはずのように見えるので、私は間違いなくこのアプローチを好むでしょう。しかし、JavaScriptをサポートせずにモバイルデバイスブラウザーでどのように機能しますか?確かに、Cグレードブラウザーに優雅に劣化した体験を提供するというJQuery Mobileの目的に違反しているようです。

JavaScriptサポートを備えたブラウザー用に最適化された一度、ブラウザのないブラウザー用に、アプリを2回実装する必要があるように見えますか?使用することは別のオプションかもしれませんが、それはさらに乱雑に見えます。

このジレンマにアプローチするための推奨方法は何ですか?気づいていないことはありますか?

ありがとう、

エイドリアン

役に立ちましたか?

解決

まず第一に:あなたのPoint2は間違っています。

見る ここにあるローカル、内部リンクされた「ページ」 注意深く読んでください。リンク href="#pageelementid" うまく機能し、HTML4対応ブラウザでも動作します[必要になる場合もあります <a name="pageelementid"> 場合によっては、もうすべてのページが一度に表示されるという唯一の違いがあることです。

第二に、ナンバー1の方法を使用すると、それもとても素敵に見えることです。はい、それはロードされますが、JavaScript対応ブラウザではAjaxがロードされており、ページ間に厄介な瞬きはありません。また、「ロード」ポップアップが表示されます。

JQuery Mobileは、JSなしで純粋でシンプルなHTMLを使用してアプリケーションを作成できるはずです。 JQM自体がページの強化を引き受けて、見栄えが良くなり、Ajaxを使用します。可能なすべてのブラウザで機能するアプリケーション(私のインスピレーション:Lynx)を作成し、そのためにJQMマークアップを使用してみてください。あなたが書くことをいとわないJavaScriptは、強化として機能する必要があります - それをまったく機能させるのではなく、それをより良くします。

それで頑張ってください!

他のヒント

より少ないブラウザをサポートする現在の考え方は、優雅に劣化するのではなく、強化することです。 JavaScriptなしでWebサイトをゼロから機能させて、その後強化する場合、サイトが機能するのではなく、サイトが機能することをほとんど知っています 修理 それまたはセカンダリサイトを構築します)。

指定した2つのオプションに関しては、帯域幅が限られていて、多くの人が1か月あたりのダウンロード額が制限されている場合、モバイルユーザーとしてのナンバーワンの好みになります。

すべてのページを1つの大きなファイルにまとめると、良いアイデアのように思えるかもしれません(すでにダウンロードされています)が、特定の電話でメモリの制限に遭遇する可能性があります。そして、彼らがやりたいことが2ページにアクセスすることだけで、なぜ彼らはそうするためにウェブサイト全体をダウンロードすることを強制されるべきなのでしょうか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top