iPhone uiwebview загружает полную страницу CSS и Изображениями

Я нахожу, что лучший способ использует класс, который позволяет Вам связывать свой код, таким образом, Вы никогда не должны волноваться о ручном выходе из Ваших данных.

6
задан Rashad 2 April 2014 в 08:48
поделиться

1 ответ

Нет простого способа. Выполните регулярное выражение HTML с помощью RegexKitLite ( http://regexkit.sourceforge.net/RegexKitLite/index.html ) и поместите все URL-адреса в .jpg, .gif, .png, .css и .js и все, что вам нужно.

поочередно, позвоните:

NSString* imgUrls=[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('img')"]

или что-то в этом роде, я не гений javascript ... а потом разбирайтесь со всем, что возвращает;)

Извините. Это головная боль.

edit:

Сохраните все img на iphone, также сохраните файл html. Если вы хотите перезагрузить страницу, загрузите html из файла в строку, а затем используйте

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

для загрузки строки HTML. baseURL используется для указания каталога или сайта, на котором веб-просмотр будет представлять, что строка HTML, которую вы передаете, находится. Все URL-адреса будут относительными.

Обратите внимание, конечно, что это не будет работать очень хорошо для абсолютных URL-адресов, только для относительных. Итак, это в вашем html файле будет обезьянничать:

<img src="http://google.com/f/r/i/g/img.gif">

в то время как это было бы нормально:

<img src="f/r/i/g/img.gif">

Опять же, все это решение грязное. Вы можете изучить уже существующий рекурсивный html-паук с открытым исходным кодом. Я думаю, что wget делает то, что вы хотите, но сомневаюсь, что его можно скомпилировать для iPhone без особых хлопот.

4
ответ дан 17 December 2019 в 07:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: