UIWebView и таймауты

Я использую UIWebView для отображения некоторого контента. В этом контенте пользователь может перемещаться по множеству сайтов, которые загружаются с использованием AJAX. Один шаг по этим сайтам требует времени. Так как я ничего не нашел о времени для UIWebView , я попытался установить его при начальной загрузке NSURLRequest .

К сожалению, это ничего не дает. Я не совсем уверен, должен ли я сам устанавливать тайм-аут? Есть что-нибудь, что я? м пропал? Отменяет ли UIWebView мой тайм-аут? Я немного смущен этим, поэтому любая помощь будет принята с благодарностью. :)

Лучшее
–F

Обновление

Я создал тестовый проект, чтобы проверить мою «теорию» о том, как UIWebView работает с тайм-аутами. Вот настройка:

  • файл PHP с именем sleep.php, у которого есть параметр, с помощью которого я могу настроить время засыпания, пока он не отправит результат
  • небольшой проект Xcode с единственным представлением, которое представляет собой загружаемый веб-просмотр файл sleep.php выглядит следующим образом:

    NSURLRequest * request = [NSURLRequest requestWithURL: url cachePolicy: NSURLCacheStorageAllowed timeoutInterval: 10]; [webView loadRequest: request];

Итак, играя с параметром секунд, я увидел, что UIWebView работает должным образом. Я получаю либо webViewDidFinishLoad: , либо webView: didFailLoadWithError: в зависимости от тайм-аута.

После проверки того, что timeoutInterval работает как заявлено. php (который имеет две ссылки на sleep.php, настроенные на 5 и 15 секунд), чтобы проверить, действительна ли моя конфигурация запроса для новых запросов. Я изменил начальный NSURLRequest , чтобы использовать proxy.php, но оставил 10-секундную конфигурацию для тайм-аута.

Теперь, когда я запускаю приложение, отображаются две ссылки. Когда я нажимаю на первый, он загружается, как ожидалось, через 5 секунд. К сожалению, вторая ссылка также загружается через 15 секунд.

Итак, моей первой попыткой перенастроить NSURLRequest было бы изменить его в webView: shouldStartLoadWithRequest: navigationType: . К сожалению, снова веб-служба работает с AJAX, поэтому метод делегата не вызывается.

Есть другие предложения? Есть ли способ глобально настроить значение тайм-аута для всего UIWebView ?

Best
–F

7
задан flohei 28 April 2011 в 10:12
поделиться