我有一个UIWebView
,它显示了一大堆HTML,其中包含多个嵌入链接的图像。 webview是可滚动的,因此内容"在折叠下面#34;可以访问。
点击链接后,我使用webView:shouldStartLoadWithRequest:navigationType:navigationType
方法捕获特定的JavaScript调用,然后在Webview的顶部触发UIViewController的模态加载。
点击链接后,网页视图的contentOffset
会重置为0,0
,因此页面会显示为"跳转"回到顶部。理想情况下,我希望webView的contentOffset
保持原样,直到模态视图控制器被解除为止。
我在调用webView.scrollView.scrollEnabled
方法后尝试将NO
属性设置为shouldStartLoadWithRequest
- 这并不会停止webView滚动。
我还尝试在点击链接的位置保存contentOffset
值,然后手动重置它 - 但同样,这并不会阻止webView滚动。
有没有办法防止这种滚动发生?
答案 0 :(得分:0)
这完全与UIWebView
无关,而且是标准的浏览器行为。
HTML中的链接采用
形式<a href="#" onClick="window.open('js-call:image-xx');">
<img src='foo.jpg'>
</a>
问题在于我没有定义#
锚点,因此在将HTML改为
<a name="image-xx">
<a href="image-xx" onClick="window.open('js-call:image-xx');">
<img src='foo.jpg'>
</a>
解决了这个问题。