UIWebView медленная загрузка изображений - мешает прокрутке на якоря - PullRequest
2 голосов
/ 19 мая 2009

Мы используем зашифрованные веб-страницы в нашем приложении для iPhone и перехватываем эти вызовы (например, при нажатии на ссылку) в webView: shouldStartLoadWithRequest: метод для получения пути к файлу, дешифрования данных до исходной строки html и затем выполнения loadHTMLString : в веб-представлении (возвращая ДА в веб-представлении: shouldStartLoadWithRequest:, очевидно).

Проблема, с которой мы сталкиваемся в настоящее время (после того, как у нас возникли другие проблемы, такие как необходимость реализовать собственный конечный / обратный автомат, позаботиться о прокрутке до последнего местоположения и т. Д.), Заключается в том, что кажется, что webView загружает изображения после он вызвал webViewDidFinishLoad:, где мы прокручиваем вниз до #anchor, если он есть (еще одна вещь, которую нам пришлось реализовать, поскольку она не работает так, как должна, когда мы используем loadHTMLString: после расшифровки).

Когда мы прокручиваем вниз с помощью вызова javascript ("window.scrollTo (0, document.getElementById ('% @'). OffsetTop"), он часто заканчивается намного дальше, чем должен; он выглядит точно так, как если бы он вычислил .y расстояние до загрузки изображений.

Есть ли способ вернуться к тому, как веб-просмотр полностью загружает страницы, и , затем прокручивает до #anchors или в предыдущее местоположение .y?

Это немного сложно объяснить, и, вероятно, оно связано со сложными деталями способа загрузки, кэширования и представления страниц в UIWebView. Некоторое просвещение и некоторое ясное размышление над этим очень ценились бы.

1 Ответ

0 голосов
/ 26 мая 2009

Я успешно использовал теги привязки, например ::100100

<a name='top'></a>
   ...
<a name='chap1'></a>
<a href='#top'>
   <h1>
      <img style='position:relative; top:2px; padding-right:5px;' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHVQTFRFAgICwMDAAwMDpKSk9/f3+/v7cHBwZmZmZGRkERER/v7+p6ensrKy0tLSXl5eVlZWaGhoW1tbYGBglpaWxsbGvb29sbGxY2NjcXFxVVVVwcHBtLS0bW1tWlpacnJyDw8P/f39GhoaCwsLAQEBycnJ////AAAA7TukbQAAAGxJREFUeNpkz+kSgjAMBODYVi6VG1FUrjR5/0dE1ME27M9vMrMbIBEg9rLBPQUPSkOBCxElR7r9oaVzbTX1+IOXuQ6PZtZjiB+A52nig+W4yuF7oRS/ARnBqV3B27GDToK9iOlZIcB5TmQRYAB6fSF0/d87AgAAAABJRU5ErkJggg==' alt='arrow-up.png' />
      Chapter 1
   </h1>
</a>...

Ваши изображения закодированы в Base64 и встроены непосредственно в ваш недавно незашифрованный NSString*?

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