UIWebView缓慢加载图像 - 扰乱滚动到锚点

时间:2009-05-19 13:58:44

标签: javascript iphone cocoa uiwebview

我们在iPhone应用程序中使用加密网页,并在webView中拦截这些调用(例如,当点击链接时):shouldStartLoadWithRequest:获取文件路径的方法,将数据解密为原始html字符串,然后执行loadHTMLString :在webView上(显然在webView中返回YES:shouldStartLoadWithRequest:,显然)。

我们目前遇到的问题(在采取其他问题,例如必须实现我们自己的后退/前进状态机,负责滚动到最后一个位置等)之后,似乎webView加载了之后的图像< / em>它调用了webViewDidFinishLoad:,这是我们向下滚动到#anchor的地方(如果有的话我们必须实现的另一件事,因为它在我们使用loadHTMLString时无法正常工作:解密后)。

当我们使用javascript调用向下滚动时(“window.scrollTo(0,document.getElementById('%@')。offsetTop”)它通常会比应该向上滚动得更远;它看起来就像它在加载图像之前计算.y距离

有没有办法回到webView完全加载页面的方式,然后滚动到#anchors或之前的.y位置?

解释起来有点棘手,可能与UIWebView加载,缓存和显示页面的方式有关。一些启示和一些明确的思考将非常感激。

1 个答案:

答案 0 :(得分:0)

我已成功使用锚标记,例如:

<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*