0

私はモバイル Web アプリを作成中ですが、非常に奇妙な問題に遭遇しました。

私のアプリのコアは、タブバーを備えた適切な iPhone アプリのように見えます。私の画面の 1 つで、タブバーのリンクがクリックされた場合、リダイレクトする前にサーバーに POST リクエストを送信し、成功したらリダイレクトを実行する必要があります。

デスクトップ ブラウザでは、これは期待どおりに機能します。

Mobile Safari では、まったく機能しません。POST リクエストは発生しますが、リダイレクトは発生しません。リダイレクトのためにさまざまな手法を試しましたが、どれも違いはありませんでした。

私はjQuery Mobileを使用していますが、遷移もAJAXもなしでまったく別のページにリダイレクトする必要があるため、window.location.hrefを使用してリダイレクトしています。

なぜこれが起こっているのか、誰にも考えがありますか? 必要に応じてさらに詳細を提供させていただきます。私はこれに 2 日間頭を悩ませてきました。

4

1 に答える 1

0

ここでの問題は、デスクトップ ブラウザーでアプリを実行する場合とモバイル Safari で実行する場合の動作の違いでした。

デスクトップでは、jQuery Mobile は基本的にスタイリングとトランジション以上のものを提供していませんでした。

Mobile Safari で、自分のページのすべての URL を書き換えていました。電話やシミュレーターで直接 Web サイトをライブ デバッグするのは非常に難しいため (デバッグ コンソールについては知っていますが、ほんのわずかしか役に立ちませんでした)、それを確認するのに長い時間がかかりました。

各リンクに data-url 属性を追加することで、この問題を回避しました。これは jQuery Mobile によって書き直されたわけではないので、それを使用して、ユーザーを最初から行くべき場所に連れて行くことができました。

jQuery Mobile がこの URL の書き換えを行っていたという事実への言及は見つかりませんでしたが、おそらく jQuery Mobile のドキュメントで何かを見逃していたのでしょう。

于 2012-05-22T06:29:26.900 に答える