Как установить базовый URL-адрес UIWebView

#iphone #url #uiwebview

#iPhone #url #uiwebview

Вопрос:

У меня есть UIWebView, в котором относительные ссылки не загружаются должным образом, потому что представление было загружено из объекта данных после локальной обработки HTML-данных, а не напрямую из URL. Теперь все относительные ссылки на странице завершаются ошибкой, потому что UIWebView не знает, к чему они относятся.

Например:

 <IMG SRC="img/foo.jpg">   
  

не будет загружаться, потому что вместо того, чтобы искать

 http://theoriginalsite.com/img/foo.jpg  
  

для файла UIWebView просматривает

 iphonefilesystem/thisapp/tempdir/img/foo.jpg  
  

Есть ли способ сбросить базовый URL-адрес UIWebView, чтобы эти ссылки работали? Я застрял с добавлением еще одного прохода к обработке данных html, чтобы переписать все относительные URL-адреса внутри?

Ответ №1:

Именно для этого и предназначен параметр baseUrl в следующих методах UIWebView:

 - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
  

Взгляните на документацию здесь.