1

私は、Web ベースのアプリ用に Android、iOS、および Windows Phone のラッパーを作成する任務を負っています。

重要な要件の 1 つは、特定のアセット (画像、CSS、JavaScript ファイルなど) をアプリ内にバンドルして帯域幅を削減し、インターネット経由で HTML (および不足しているアセット) を取得しながら応答性を向上させることです。これを行うには、各プラットフォームのネイティブ ブラウザー コンポーネントで行われたリクエストを何らかの方法でインターセプトする必要があります。

Android では、WebViewClient.shouldInterceptRequest メソッドをオーバーライドし、要求されたファイルが存在すると判断され、ファイル拡張子が「.css」、「.jpg」、「. png」または「.js」。そうでない場合、アセットは通常どおりインターネット経由でプルされます。

iOS では、NSURLCache オブジェクトから継承するオブジェクトを作成し、cachedResponseForRequest メソッドをオーバーライドすることで、要求をインターセプトできます。要求されたファイルが存在すると判断され、ファイル拡張子が「.css」で終わる場合は、もう一度アプリ ファイル システムのローカル データに置き換えます。 、「.jpg」、「.png」または「.js」。そうでない場合、アセットは通常どおりインターネット経由でプルされます。

これらのラッパーは両方とも期待どおりに機能しています。CSS、画像、および JavaScript ファイルは、それぞれのファイルが存在する場合に、ローカル アセットから正常にプルおよび実行されていることが確認されます。

私が今しなければならないことは、Windows Phone 用に同等のものを作成することですが、これまでのところ、Microsoft.Phone.Controls.WebBrowser オブジェクトによって行われた要求をインターセプトする方法さえ見つけられませんでした。

私はこれをすべて見てきましたが、これまでのところ有用なものは何も見つかりませんでした.

誰かが私を正しい方向に向けることができますか?

4

0 に答える 0