2011-07-14 4 views
2

(これはおそらく、ロングショットですが、...jQueryの.SHOW()とBlackBerry OS5

誰でもjQueryのショーを使用して問題に遭遇)ブラックベリーOS5のWebブラウザで、それはどちらか動作しない原因( (シミュレータ)をクラッシュさせますか?サウンドがあれば、回避策が見つかりましたか?

同じことは、我々は.SHOW()またはの.css( '表示'、 'ブロック')などOS6、iOSのは、Firefox、クロムなど、中

作品を使用するかどうかが起こる...しかしで死にますOS5ブラウザ

ああ、私は追加する必要があります:私たちの実際のサーバー(JSF、WebSphereなど)の我々のアプリケーションを実行しているときに我々が言うことができるものから、

を、これが唯一の問題です。 jQueryを静的なページとしてローカルにテストすると、正常に動作します。

答えて

1

職場の私のチームもjQuery Mobileを使用していて、デバイスで同様の問題が発生しています(これはシミュレータがクラッシュしたとは思えません)。ここでは、これまでに見つけたものです:show()へのあなたの呼び出しが動作することができるが、そうゆっくりと、それはロードする前に、あなたがあきらめることを処理すること

  • The entire DOM for the web page is processed every time you add, remove, or modify any attribute or element on the page。 BlackBerry Forumの投稿では、パフォーマンスを向上させるためにremoving an element before modifyingと表示されています。一部のデバイスでは

  • 我々はshow()への呼び出しが動作することがわかってきましたが、UIは、ページを下に少しスクロールアップまたは後に更新されます。あなたのページがスクロールするには短すぎる場合は、運が悪いかもしれません。

  • onclickの属性はタッチスクリーンでは無視されますが(トラックボール/タッチパッドデバイスでは問題ありません)、show()コールでは何も起こりません。すべてのデバイス上で、当社のハイパーリンクを動作させるために、我々はJavaScriptが両方onclickhref属性に呼び出す置く:
    onclickメソッドからJavaScriptを呼び出すとき、私たちはそのようjavascript:でメソッド呼び出しを付加しなければならなかった <a href="javascript:showThings();" onclick="javascript:showThings();">Show</a>


  • <a href="#" onclick="javascript:showThings();">Show</a>
    (最近のほとんどのブラウザでは、あなたのonclick値ではJavaScriptとして評価されるべきであると仮定)

  • フォーカスベースのナビゲーションは、私たちがPROB原因となった、デフォルトで有効になっていませんトラックボール/サムパッドデバイスを使用しているときには(画面がロックされ、キーの押下に応答しなくなる)フォーカスベースのナビゲーションin either your project's config.xmlを有効にするか、RIM-specific hyperlink attributeを使用して有効にすることができます。​​3210でこれを有効にした後に遭遇した問題を忘れてしまいましたが、代わりにx-blackberry-initialFocusハイパーリンク属性を使用しました。

あなたの状況に上記の点のどれが当てはまるのか正確には言い難いですが、うまくいけば何か関連性があり便利です。私のチームは、BlackBerryに関するWeb開発の経験、特にOS 5とOS 6の間、およびトラックボール/サムパッドとタッチデバイスの間の違いについては、これまでのところ大きな違いはありませんでした。

+0

また、ページの読み込みの遅さや、新しいページのコンテンツを取得した後に処理(JavaScriptを前提としています)に縛られているように見えます。私たちは大部分のモバイルWebアプリケーションをモノリシックなJavaScriptファイルで1ページにまとめました。各 "ページ"は実際には隠されたDIVです。まったく関連はありませんが、ローカルとサーバーのテストの間に見られる違いに寄与する可能性があります。 – Dave

+0

答えをありがとう。間違いなく、BB OS5には信じられないほど奇妙なWebブラウザがあります。私は実際に回避策を見つけました。答えとして投稿します。 –

1

OS5のブラウザでは、表示プロパティをBLOCKからNONEに変更するときにDOMを更新するという問題があります。BlackBerry担当者は、OS5でDOMを更新するのを避けるべきであると私たちに語っています(笑!)。

私たちが解決した解決策は、.show().hide()を使用せず、クラス名をトグルしました。 OS5を除くすべてのデバイスはクラス名を表示プロパティの切り替えに使用しますが、OS5はautoから0px

からOS5を幸せにしました。

これらのことは、コードをローカルで静的ページとして実行し、シミュレータで正常に実行できるなど、変数のいくつかについてはまだ説明していません。しかし、サーバーからページを読み込もうとすると、まったく同じコードがクラッシュします。

私たちは問題なく問題なくアプリ内の他の場所で.show()を使用することもできます。

最後に、子要素のいくつかがdisplayをトグルしている場合、ブラウザを殺す親要素に適用されるCSSの組み合わせがあると思います。

+0

私は同じ問題に直面しています...(.toggleClassを使用して)クラス名を切り替えることによってどういう意味ですか? –

+0

申し訳ありませんが、私はもっと明確にすべきでした。私が意味するのは '.addclass'と' .removeclass'を使ってクラスのオンとオフを切り替えることです。クラス自体は、表示プロパティではなく高さを変更するためにOS5に設定されています。 –

+1

ちょっと仲間...その仕事:) +1 ...兄弟()も働いていない...あなたはそれのための代替を持っていますか? –