ホームページ  >  記事  >  ウェブフロントエンド  >  HTML が Web ページを読み込む仕組み

HTML が Web ページを読み込む仕組み

黄舟
黄舟オリジナル
2016-12-16 10:00:222041ブラウズ

UIWebView はページをロードするための 3 つの方法を提供します:

- (void)loadRequest: (NSURLRequest *)request;

- (void)loaDHTMLString: (NSString *)string BaseURL: (NSURL *)baseURL;

- ( void) loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingNamebaseURL:(NSURL *)baseURL;

ここでは最初の 2 つについてのみ説明します。最後の 1 つは一般的に使用されるべきではありません。

- (void)loadRequest:(NSURLRequest *)request

このメソッドは指定したURLのWebページを読み込むのによく使われますが、実はローカルリソースの読み込みにも使えてとても便利です。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"Htmls"];

[self.webViewloadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]] ];

これにより、Htmls/index.html が Web ビューに読み込まれます。 Htmls フォルダーは、デフォルトではなく、「追加フォルダーのフォルダー参照を作成する」ことによって導入されることに注意してください。これには 2 つの利点があります。1 つは、コンパイル後、リソースのディレクトリ構造が現在のプロジェクトと一致し、.app パッケージ内で分散されないため、HTML でリソース ファイルを簡単に見つけることができることです。 2 番目に、Xcode でファイルを手動で追加または削除する必要がなく、ファインダー ディレクトリの変更内のファイルがプロジェクトに直接マッピングされます。

index.htmlでは、フロントエンドエンジニアがスタイルシートを引用しています

base.CSSファイルのパスは、実際にはxxx.app/css/base.cssではなく、xxx.app/Htmls/css/base.cssです。 . それは、loadReqest メソッドが現在読み込まれている HTML ファイルのパスを BaseURL として使用するため、見つけることができます。

- (void)loadHTMLString:(NSString *)stringbaseURL:(NSURL *)baseURL

このメソッドは、HTMLコードを直接ロードするために使用されます。ファイル内に html が存在しない場合は、この方法をお勧めします。もちろん、このメソッドを使用してローカル HTML からコードを読み取ってロードすることもできます。ただし、この時点では、baseURL を正しく渡す必要があることに注意してください。正しく渡さないと、HTML で参照されているリソースが見つからなくなります。

引き続き上記の例を使用して、リソースを正しくロードするには、次のように記述する必要があります:

NSString *baseURL = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Htmls"];

[self.webViewloadHTMLString:htmlString baseURL :[NSURL fileURLWithPath:baseURL]];

このようにして、フロントエンドエンジニアはあなたと一緒に開発することに慣れることができます~

上記は、HTML が Web ページを読み込む方法の内容です。 PHP 中国語 Web サイト (www.php .cn) に注意してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。