Можно ли загрузить локальные библиотеки Javascript на онлайн-страницу на iPhone? - PullRequest
3 голосов
/ 16 февраля 2011

Мы собираемся реализовать гибридное приложение, которое использует встроенные представления Safari (UIWebView) для обработки некоторых социальных вопросов.Мы должны использовать некоторые умные библиотеки Javascript для обработки некоторых элементов пользовательского интерфейса на страницах, и мы не хотим постоянно загружать библиотеки с серверов.

Можно ли упаковать некоторые * .js впакет приложений, а затем получить доступ к нему во время просмотра?Надеюсь, вы понимаете мой вопрос.

Если этот «гибридный режим» работает, возможно, мы могли бы также упаковать некоторые общие интерфейсы * .png-s.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2011

Попробуйте

NSString *jsLibFile = [[NSBundle mainBundle] pathForResource:@"library" ofType:@"js"];
if (jsLibFile) {
    NSString *libSrcTxt = [NSString stringWithContentsOfFile:jsLibFile];
    if (libSrcTxt) {
        webView stringByEvaluatingJavaScriptFromString:libSrcTxt;
    }
}   

(Открытие файла и оценка JS в webView.)

0 голосов
/ 16 февраля 2011

Я верю, что вы можете, у вас есть несколько возможностей, например:

  1. У вас есть -stringByEvaluatingJavaScriptFromString: метод в UIWebView - и я верю, что вы можете выполнять содержимое ваших js-файлов ... Я не уверен, никогда не пробовал, хотя ... но это должно работать.

  2. вы можете создать подкласс NSURLProtocol и зарегистрировать свой подкласс для схемы http: //. Таким образом, ваш класс может выступать в качестве прокси между Интернетом и любыми компонентами, использующими схему http: //, и вы можете возвращать файлы js и png из локального кэша.

  3. Вы можете отдельно скачать html-контент и заменить ссылки на локальный файл: // ссылки, а затем использовать UIWebView для отображения этой форматированной строки.

Надеюсь, это поможет.

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