2

jQueryMobileに頭を悩ませようとしています。私の目的は、ネイティブアプリにできるだけ近いルックアンドフィールを備えた非常に高速なアプリケーションを構築することです(少なくとも最新のデバイスの場合)。

ページ間を移動する方法は2つあることを理解しています。

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

  2. すべて(または多数)のページを1つのWebページに配置し、javascript($ .mobile.changePage(メソッド)および同様のAPI関数を使用してそれらの間を移動します。

最初のアプローチはすべてのブラウザで機能するはずですが、各ページ遷移の間に遅延があるため、パフォーマンスはかなり低くなります。

2つ目ははるかに高速であるように見えるので、私は間違いなくこのアプローチを好みます。しかし、JavaScriptをサポートしていないモバイルデバイスブラウザではどのように機能しますか?それは確かに、Cグレードのブラウザに優雅に劣化したエクスペリエンスを提供するというjQueryMobileの目的に違反しているようです。

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

このジレンマに取り組むための推奨される方法は何ですか?気づかなかったことはありますか?

ありがとう、

エイドリアン

4

2 に答える 2

2

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

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

2つ目は、方法番号1を使用すると、見栄えもよくなるということです。はい、ロードされますが、JavaScript対応のブラウザーでは、AJAXがロードされ、ページ間で厄介な点滅はありません。また、「読み込み中」のポップアップが表示されます。

jQuery Mobileを使用すると、JSを使用せずに純粋で単純なhtmlを使用してアプリケーションを作成できます。JQM自体がページの拡張を行い、見栄えが良く、AJAXを使用します。可能なすべてのブラウザー(私のインスピレーション:lynx)で動作するアプリケーションを作成し、そのためにJQMマークアップを使用してみてください。あなたが書いても構わないと思っているJavaScriptは、拡張機能として機能するはずです。まったく機能させるのではなく、より良くする必要があります。

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

于 2011-01-07T08:25:19.060 に答える
0

より少ないブラウザをサポートすることについての現在の考えは、優雅に低下するのではなく、強化することです。javascriptなしで機能するようにゼロからWebサイトを構築し、後でそれを拡張すると、サイトが機能することがほぼわかります(修正したり、セカンダリサイトを構築したりする必要はありません)。

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

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

于 2011-01-07T01:49:47.647 に答える