3

私のアプリはJquery/Jquery Mobile/RequireJSフロントエンドとColdfusion8/MySQL 5.0.88/Apacheバックエンドで実行されています。

使っています

  <meta name="apple-mobile-web-app-capable" content="yes" />

私のページヘッダーで、iOSでアプリをフルスクリーンモードで実行できるようにします。

ただし、これにより、Jquery MobileがページAからページBに変更するために使用するAJAXナビゲーションが機能しなくなります(ページはAJAX呼び出しを介してプルされます)。AJAXリクエストが失敗し(error loading page短時間点滅)、読み込まれるページが新しく読み込まれるため、アプリが再起動します。

私は2日間フロントエンドで原因を探していましたが、次のすべてを除外できます。

  • requireJSキャッシングファイル(cache-bust configを使用)
  • 一般的にrequireJS(完全に削除されました)
  • オフライン設定(マニフェストファイルは使用されていません。適切な測定のためにisLocal:trueが追加されています)

Jquery Mobile(loadPage function fails)を介してJquery.Ajaxを介して、JqueryでAJAX要求が行われる行までエラーを追跡しました。

  xhr.send( ( s.hasContent && s.data ) || null );

アプリをフルスクリーンモードで実行している場合、このxhr.sendajaxリクエストは、デスクトップまたはモバイルブラウザーで実行している場合とreadystate=0比較して返されます。readystate=200

質問:
フロントエンドのものが原因であることを除外できると確信しています。私の質問は、サーバー側のどこから始めればよいかということです。私はAJAXページリクエストを処理するためにColdfusionコードを使用していないので、考えられる原因の検索またはテストをどこから始めればよいのか疑問に思っています。だから私の質問は次のようになります:これがフルスクリーンモードで失敗する理由は何でしょうか?これは必然的にColdfusionと関係がありますか、それともapacheを調べる必要がありますか?の設定が欠落している可能性がありhttpconfigますか?

ポインタをありがとう?

4

1 に答える 1

1

これは完全にクライアント側に見えます。ApacheもCFも、アプリがフルスクリーンモードで実行されているかどうかを認識(または気にかけます)します。

試すことができるテストの1つは、サイトページをフルスクリーンモードで表示しているときに送信されたhttpヘッダーをダンプしてログに記録することです。おそらく、Apacheをスローする何かを送信している可能性があります。それがどうなるかはわかりませんが、そこから始めるかもしれません。

于 2012-08-22T02:07:14.823 に答える