>  기사  >  웹 프론트엔드  >  HTML이 웹페이지를 로드하는 방법

HTML이 웹페이지를 로드하는 방법

黄舟
黄舟원래의
2016-12-16 10:00:221993검색

UIWebView는 페이지를 로드하는 3가지 방법을 제공합니다.

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

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

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

여기 나는 처음 두 가지에 대해서만 이야기할 것이며, 마지막 것은 일반적으로 사용되어서는 안 됩니다.

 - (void)loadRequest:(NSURLRequest *)request

  이 메소드는 지정된 URL의 웹페이지를 로드하는 데 자주 사용되지만 실제로는 로컬 리소스를 로드하는 데에도 사용할 수 있습니다. 그리고 그것은 매우 편리합니다.

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

[self.webView loadRequest:[NSURLRequest requestWithURL :[NSURL fileURLWithPath:filePath]]];

 Htmls/index.html을 웹뷰에 로드합니다. Htmls 폴더는 기본이 아닌 "추가된 폴더에 대한 폴더 참조 생성"을 통해 도입된다는 점에 유의해야 합니다. 이렇게 하면 두 가지 장점이 있습니다. 첫째, 컴파일 후 리소스의 디렉터리 구조가 현재 프로젝트와 일치하며 .app 패키지에 분산되지 않습니다. 따라서 리소스 파일을 HTML로 쉽게 찾을 수 있습니다. 둘째, Xcode에서 파일을 수동으로 추가하거나 삭제할 필요 없이 파인더 디렉터리 변경 사항의 파일이 프로젝트에 직접 매핑됩니다.

index.html에서 프론트엔드 엔지니어가 스타일 시트를 인용했습니다

base.CSS 파일의 경로는 실제로 xxx가 아닌 xxx.app/Htmls/css/base.css입니다. .app /css/base.css, loadReqest가 현재 로드된 html 파일의 경로를 baseURL로 사용하기 때문에 찾을 수 있습니다.

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

 이 메소드는 HTML 코드를 직접 로드하는 데 사용됩니다. 파일에 html이 존재하지 않는 경우 이 방법을 권장합니다. 물론 이 방법을 사용하여 로컬 HTML에서 코드를 읽은 다음 로드할 수도 있습니다. 하지만 이때 baseURL을 올바르게 전달해야 합니다. 그렇지 않으면 html에서 참조된 리소스를 찾을 수 없습니다.

위의 예를 계속해서 리소스를 올바르게 로드하려면 다음과 같이 작성해야 합니다.

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

 [self.webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:baseURL]];

  이렇게 하면 프론트엔드 엔지니어들이 여러분과 함께 개발하는 데 익숙해질 수 있습니다~

그게 다입니다. 웹 페이지의 HTML 로딩 방법 내용, 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트(www.php.cn)를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.