1

モバイル Web サイトをテストするために、Samsung Galaxy S4 を入手しました (最新の Touch-Wiz Android 4.2.2 を実行 - ビルド JDQ39)。

すぐに、サイトにいくつかの大きな問題があることに気付きました。調査の結果、これwindow.setInterval(fn, repeatInterval)は繰り返されず、渡された関数を 1 回だけ呼び出していることが原因であることがわかりました。

setInterval私たちのコードは他のすべてのデバイス (ロット)、同じデバイスの chrome ブラウザー、およびデスクトップ ブラウザーで動作するため、の使用におそらく問題はないことに注意してください。

検索しましたが、この問題に関する言及は見つかりませんでした。このような重大なバグがこれ以上のノイズを発生させなかったことは、私には奇妙に思えます。

私の質問は: 他の誰かがこの問題を見たことがありますか? これは 4.2.2 のデフォルト ブラウザですか、それとも Touch-Wiz 固有の問題ですか? エレガントな回避策を見つけましたか?

私は自己永続化を使用して回避策を考え出しましたsetTimeout(s)が、それは少し厄介であり、そのようにする必要はありません。

4

1 に答える 1

2

実際にはsetIntervalのせいではなかったことが判明しました。奇妙なeval.call(window, 'some js');ことに、この特定のブラウザーですべての間隔が機能しなくなるようです。本当に方法がわかりません。これは、私たちが確認した唯一の携帯電話です。S3 (Android 4.2.1) のストック ブラウザーでは発生しません。

PS 私たちが行っている唯一の理由は、1 ページの動的読み込みアプリにスクリプトを追加eval.callするために使用するバナー広告を作成できるようにすることです。document.writeむしろ無かった方がいいです。

于 2013-07-24T13:56:07.663 に答える