0

私は、一連の複雑な(マルチファイル、JS、CSSなど)Webサイトをオフラインで表示する必要があり、Web接続をまったく必要としないクライアント向けのアプリケーションを開発しています。

これで、すべてのHTMLコンテンツフォルダーがあり、それらをXCodeプロジェクトに追加できます...しかし、今度はそれらを表示する必要があります。

HTMLファイルが1つしかない場合、UIWebViewは問題ありませんが、JSとCSSの相対パスは変換されません。

これを行うための最良の方法は何ですか。私はいくつかの潜在的な選択肢を見てきました。1つの方法は、超基本的なWebサーバーをローカルで実行し、すべてのファイルを/ document(またはその周辺)にダンプしてそこから提供することです... 2つ目は、UIWebViewにパスを再解釈させて、パスが右を指すようにすることです。ローカルに配置...それが可能かどうかはわかりませんが、ほのめかされているのを見てきました。

多くの人が単一のUIWebViewページのロードをカバーしているようで、CSS/JSの依存関係を処理する方法についてはあまり議論していません。

誰か明るいアイデアやリンクなどがありますか?

ありがとう

4

1 に答える 1

0

HTML / CSS / JSツリーをXcodeプロジェクトに追加し、(「追加されたフォルダーのグループを再帰的に作成する」ではなく)「追加されたフォルダーのフォルダー参照を作成する」を選択すると、バンドルにHTML/が含まれると思います。 CSS / JSフォルダー階層(すべてのファイルのフラット化されたリストの代わりに)。これにより、相対パスが保持されます。

「再解釈」のポイントについては、次のように定義できます。

– webView:shouldStartLoadWithRequest:navigationType:

UIWebViewDelegateで、ファイルをロードする試みをインターセプトします。そこで、その場でURLを変更できます。

また、RobNapierによるこの興味深い記事をご覧ください:UIWebViewのドロップインオフラインキャッシング

于 2012-04-16T14:12:45.477 に答える