2011-08-05 25 views
4

jquery-1.6.2.min.jsがAndroid 2.1を実行しているSamsung Galaxy Sではまったく動作しないような問題が発生しましたか?もしそうなら、誰でもこのデバイス用に使用できるように私ができる変更を知っていますか?jquery 1.6.2はAndroid 2.1エミュレータでは動作しますが、Samsung Galaxy Sでは動作しません

私は最近、今年初めに作成したjavascriptベースのWebサイトのモバイル版を開発し始めました。すべてはうまくいって、すべてのAndroidエミュレータと私自身のSamsung Galaxy S2の両方で動作するように見えました。しかし、標準のAndroid 2.1を実行しているSamsung Galaxy S1でサイトをテストしたところ、すべてのJavaScriptコードが壊れていたようです。そこでAndroid 2.1とGalaxy Tab(デフォルトのWebKitブラウザを使用)の両方のエミュレータでもう一度テストしてみました。これらのサイトではうまくいきました。

私は、1.6.2から1.4.2に使用していたJqueryバージョンをダウングレードすることを決定するまで、多数のソリューションを試して、標準のAndroid 2.1とGalaxy Sが提供するものとの違いをWebで検索しました。 。これは私の問題を直ちに解決しました。しかし、モバイルデバイス用のjqueryの改善のために、私はまだ1.6.2を使用できるようにしたいと考えています。

ありがとうございます。

編集11月5日:

マヌエルHolzhauserが指摘するように、jQueryの1.6.2スクリプトで "//" '//' でを交換しても問題を解決します。 2つのスラッシュと二重引用符の組み合わせと関係があるようです。後者と "/ *"はスクリプトで問題なく使用されます。

参考までに、単一の出現を含むコードスニペット

// Main method 
ajax: function(url, options) { 

    var // Create the final options object 
    s = jQuery.ajaxSetup({}, options), // (...) 

    // Remove hash character (#7531: and string promotion) 
    // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) 
    // We also use the url parameter if available 
    s.url = ((url || s.url) + "").replace(rhash, "").replace(rprotocol, ajaxLocParts[ 1 ] + "//"); 

    // (...) 

} 
+0

あなたがWebKitのバージョンを比較しましたエミュレータとあなたの携帯電話? – Robert

+0

良い点、私はそれを調べます。 TBH私は、デフォルトでAndroid 2.1を稼働しているGalaxy Sは、Android 2.1エミュレータと同じWebKitバージョンを実行すると考えました。 –

答えて

4

我々は正確に同じ問題を抱えていたが、私は解決策を見つけた

をあなたの圧縮バージョンで'//'"//"を交換する必要が

それは:!。「//」読み込みの機能は何も変わりませんが、それはあなたの携帯電話で動作します!

新しいデバイスまたはあなたが持っている問題(http://docs.jquery.com/Qunit)に直面したとき、私はjQueryのユニットテストを実行しようと
+0

あなたのソリューションを共有してくれてありがとう、Manuel!私は "//"の単一の出現内の二重引用符を単一のものに変更しました。そして今はすべてがGalaxy Sと他のデバイスの両方で期待通りに機能します。 –

+0

これは本当に助けてくれてありがとう...偽り! :) – Alex

0

+0

私は、QUnitのようなものが存在することをまだ認識していませんでした。 –

関連する問題