iPad загружает локальный HTML в веб-вид с изображениями и JavaScript - PullRequest
5 голосов
/ 30 мая 2011

Edit:

Итак, ответ был в этом посте: Загрузка javascript в UIWebView из ресурсов

Вы найдете все, что вам нужно знать для загрузки приложения HTML5 с каталогами, просто убедитесь, что вы перетаскиваете файлы в свой проект XCode, нажимая переключатель, который гласит «Создать ссылки на папки для любых добавленных папок». Тогда просто используйте код на тех ссылках, которые я там добавил.

Спасибо Серхио за помощь.


Я уже несколько раз проходил через StackOverflow, и ни один из найденных там кодов не может отображать изображения моего приложения html5. Трудная часть, кажется, загружает файлы из разных подкаталогов. Я не хочу бросать все в корень, а затем использовать группы в Xcode, потому что мне пришлось бы перефакторировать большую часть кода HTML5.

Я бы хотел встроить его в качестве легкого контейнера, а не использовать PhoneGap. Кроме того, PhoneGap поставляется с большим количеством ошибок (я тестировал наше приложение, оно рухнуло на iPad и работало на iPhone). Достаточно сложно разобраться со стороной HTML5 и Cocoa Touch.

Вот как я загружаю HTML-страницу:

[webView loadRequest:[NSURLRequest requestWithURL:
       [NSURL fileURLWithPath:[[NSBundle mainBundle] 
       pathForResource:@"index" ofType:@"html"]isDirectory:NO]]]; 

Я нашел какое-то решение, которое приближает меня к «Создавать ссылки на папки для любых добавленных папок» при добавлении файлов в папку ресурсов, теперь я вижу, как загружаются некоторые изображения. JS, кажется, не работает должным образом. Я протестировал это приложение, загружая его с URL-адреса, работающего на локальном сервере, и в этом случае оно действительно работает.

Так что CSS, очевидно, работает, изображения тоже, но JS кажется проблемой.

Надеюсь, я скоро найду ответ.


Старый

(это когда я неправильно включал папки)

Так как вам, ребята, не нужно интересоваться, что я вижу (мне кажется, что js и изображения не загружаются, и у меня есть подкаталоги в приложении HTML5):

enter image description here


Интересные посты, связанные с этим:

Загрузка javascript в UIWebView из ресурсов Ссылка на ресурсы внутри WebView - iPhone

1 Ответ

6 голосов
/ 30 мая 2011

Действительно, вы можете загрузить локальный HTML в UIWebView с помощью:

– loadHTMLString:baseURL:

Единственное, что вам следует знать, это как указать baseURL, чтобы он попадал в каталог локальных ресурсов. Итак, если вы добавите в свой HTML:

<img src="localImage.png" />
<link rel="stylesheet" type="text/css" href="theme.css" />
<script type="text/javascript" src="filename.js"></script>

это будет найдено среди ресурсов вашего проекта.

Это определенно работает. Возможно, существует некоторая «проблема» с вашим источником HTML и javascript (например, при использовании подкаталогов или абсолютных URL).

EDIT:

Если вам нужно организовать ресурсы (изображения и скрипты) в каталогах внутри каталога Resources вашего приложения, см. S.O. Тема .

Чтобы получить путь к каталогу ресурсов, используйте:

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

Альтернативой может быть размещение всего вашего файла в каталоге Documents вашего приложения (которое зарезервировано для пользовательского контента). В этом случае, я полагаю, вы можете загрузить архив своего приложения и установить его в каталог документов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...