说得很简单:我想将当前位置(可能是 几个位置)加入到一个WebView中显示的html文件中,以便稍后 恢复它。任何小小的提示都会有所帮助。 :)在WebView中获取文档位置?
回答
如果通过“当前位置”您指的是某个页面某处的某个点,我不相信这是可能的......至少不是纯粹从Java。暴露给Java的整个WebKit API缺少处理页面内容的任何事情。
如果你有在页面内容的控制,并有一个办法可以知道通过在页面的JavaScript这些位置,你可以:
第1步:使用WebView#addJavascriptInterface()
与某种recordPosition()
方法添加对象,将信息保存在任何地方
步骤#2:创建一个Javascript函数,该函数在注入的对象上调用recordPosition()
。
,然后或者:
步骤#3A:触发从JavaScript语言JavaScript函数(例如基于点击),或
步骤#3B:您WebView
,其中...
是呼叫loadUrl("javascript:...");
由Javascript代码替换以触发第2步中的Javascript功能。
恢复这些位置必须以相同的方式工作:让Javascript执行实际的恢复,可能由Java代码触发。
请注意,我不知道你想要什么(获取/设置当前位置)可以从Javascript获得,因为我不是浏览器内部的编码器。
我采取的方法如下:
在onSaveInstanceState()
方法,计算出多远了网页的用户已经滚动。
藏在包中。当恢复页面中的onCreate()
方法,等待网页加载完成(在WebClient.onPageFinished()
),滚动至记录位置:
int contentHeight = webView.getContentHeight();
int y = (int) ((float) contentHeight * scrollPercent);
webView.scrollTo(0, y);
- 使用
float
和计算比率在之间翻转的情况下的工作原理风景和肖像。 - 可以工作不够好但不是完美当与自动调整图像混合时。
- 比例也可以考虑在内。我倾向于在开始加载页面之前在
onPause()
方法中优先保存比例尺,然后在webView.setInitialScale(scale)
之前。 - 我发现当
scrollPercent > 0
看起来更好时,将web视图设置为隐藏。
很好地工作。我确认应该考虑到这个尺度。谢谢。 – 2010-02-28 19:38:23
- 1. 从整个文档获取.index()位置?
- 2. Android:获取WebView的滚动位置
- 3. 获取XML文档在XQuery中的位置
- 4. 在Javascript中获取关于NodeList对象的文档的位置?
- 5. Mongodb获取文档在集合中的位置
- 6. 在我的文档中获取pdfptable的位置
- 7. 如何在WebView中获取文档的尺寸?
- 8. android:在webview中获取视频的当前位置
- 9. 如何从Lucene的文档术语矢量中获取位置?
- 10. 在android中获取文件位置?
- 11. 在textview中获取文本位置
- 12. jquery获取并设置文档偏移量(或位置?)
- 13. 在xquery中获取文档
- 14. 在android中获取位置
- 15. 在ListView中获取位置
- 16. 在onCreateViewHolder中获取位置
- 17. 获取/设置UWP Xaml WebView缩放和滚动位置?
- 18. 获取文件的位置
- 19. Cloud Firestore - 从多个位置获取文档
- 20. 如何获取文档的滚动位置?
- 21. XAML中的WebView:获取/设置内容
- 22. 从中获取`.bat`文件的位置
- 23. 获取位置
- 24. WebView JavaScript Bridge文档
- 25. 获取文档在Couchbase v2.0
- 26. JavaFX在FXML文档中编辑WebView
- 27. 通过在WebView中运行的Web应用程序获取位置
- 28. 如何获取<img>标记在webview的ontouchListner中的位置
- 29. android studio sdk v23 webview获取地理位置
- 30. 获取Webview的滚动位置和范围
令人惊叹的答案!非常感谢。 相关问题:http://stackoverflow.com/questions/1091048/alternatives-to-window-scrollmaxy – yanchenko 2009-07-07 10:39:14