ホームページ > 記事 > ウェブフロントエンド > HTML が Web ページを読み込む仕組み
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) に注意してください。