0

私はjQuerymobile(jQM)でサイトを開発しています。それは素晴らしいことですが、1つのことが私を悩ませています。

jQMは、すべてのモバイルブラウザ(特にBlackBerry 5)でサポートされているわけではありません。このサイトはAndroidブラウザではゴージャスに見えます。AndroidのOperaMiniでは、実際には壊れています:(

当然、プログレッシブエンハンスメントを使用してサイトを開発しました。したがって、jQMがなくても機能します-ブラウザに使用しないように指示できれば!

質問:Android上のOpera Miniのようなプラットフォームの場合、jQMサポートを確認し、必要に応じてjQMを完全に適用解除する方法はありますか?

  • このブラウザでjQMがサポートされている場合は、それを使用してください。
  • そうでない場合は、jQM javascriptをロードせず、jQMスタイルシートをロードせず、基本的なJavaScriptサイトを使用してください。

プロパティについては知っていgradeA()ますが、使用するにはおそらくjQMをロードする必要があります。

$.mobile.gradeA()

ありがとう!

4

2 に答える 2

0

jQuery Mobileは、ブラウザーの機能自体をテストします。

コードをカスタマイズして、拡張を行わないようにする必要があります。興味がある場合は、ここで試してください:https ://github.com/jquery/jquery-mobile/blob/master/js/jquery.mobile.support.js

また:それが機能することを決定した場合-おそらくそうすべきです。jQuery Mobileを劣化させるのではなく、問題を修正してみてください

[編集]

Ok。説明させてください。JQMは、プログレッシブエンハンスメントのアイデアに従って、ブラウザーの機能をテストし、ブラウザーがテストに合格すると、ウィジェットなどを使用して開始します。これが、試してみればうまくいくはずだと私が言う理由です。

それが強化しようとして失敗した場合-それはJQM側のバグ/欠落しているサポートであり、理想的な世界では修正されることを期待する必要があります。現実はあなたがそれを期待することはできないことを示唆しています、しかしあなたはそれを期待することができます;)それはまだリリースではありません。

「修正してみてください...」で私が言っているのは、JQMリポジトリをダウンロードし、サポートテストに1〜2行追加して、その特定の場合にJQMが失敗する原因となる機能を検出させる必要があるということです。次に実行するmakeと、まったく新しいJMQが機能します。

その後、コアチームに変更を提案すると、コアチームはそれを改善します。

[編集]

これは実際にあなたが本当に望んでいたものです:

サポートスニッフィングコードを取得するための優れた方法。

gradeAを返す独自の関数を 実装できます$.support.mediaquery&&yourcondition

参照: http: //jquerymobile.com/demos/1.0a4.1/#docs/api/globalconfig.html

これにより、JQMが不要なブラウザで動作するのを防ぐことができます。

于 2011-04-19T11:37:30.703 に答える
0

jqueryサポートオブジェクトを使用するのはどうですか?モバイル向けの新しいプロパティがあります。ドキュメントから、はのgradeAショートカットです$.support.mediaquery

于 2011-04-19T10:34:02.733 に答える