加载了一个相当具体的网页WebView
,其中的 URL 就像http://www.site.com/mob/
(基本上是移动优化的网页)。此网页仅显示 25 篇文章,底部有一个“更多文章”按钮。
当用户按下它时,我会捕获 URL http://www.site.com/Web/MobHomeItems.aspx?page=N
(其中 N 是 2、3、4...),然后在同一屏幕上加载了另外 25 个项目。
现在,当我单击某篇文章并转到文章详细信息,然后通过返回键返回该页面时,WebView
忘记了已加载了多少篇文章,而只是加载了显示 25 篇文章的默认页面。想象一下,如果用户来到第 100 篇文章,这将是多么令人沮丧。
我尝试覆盖 inWebClient
和 in 的许多方法WebChromeClient
,但到目前为止,我无法加载通过“更多文章”按钮加载的 N 个页面。例如,我最初认为这会有所帮助,但事实并非如此。
@Override
public void onLoadResource(WebView view, String url) {
//http://www.site.com/Web/MobHomeItems.aspx?page=2
if (url.contains("?page=")) {
//save this URL for later and on return from
// article details, pass it to LoadResource()
super.onLoadResource(view, url);
}
然后我用其他方法尝试了类似的方法——基本上记住主页上已经加载了多少页面,然后在从文章详细信息返回时,只需告诉 webview 加载这个 URL。
谁能帮我?如何将加载的页面附加到主页?我应该JavaScript
在这里使用吗?
PS。加载提到的 URLhttp://www.site.com/Web/MobHomeItems.aspx?page=N
并没有帮助,因为它将这个具体页面加载到WebView
唯一的页面中,并且它不会将此第 N 个页面附加到主页。
编辑
正如@Raghunandan 所问的那样,我在加载回第一页()时没有问题?page=1
。当用户在文章详细信息上按下返回按钮时,这是默认设置。我想在按下 article details 之前加载到用户所在的页面。如果他在?page=100
,我想加载回那个页面,例如我想打开 25x100 的文章。同样,默认始终是“打开 25 篇文章或?page=1
或http://www.site.com
”。