更改Android Webview内容(哈希),而无需重新加载URL

时间:2018-11-02 16:00:28

标签: javascript android html android-webview

我有2个Webview:Webview1和Webview2(比如说)。用户到达Webview1(加载URL)。现在,当用户单击Webview2时,我需要加载类似www.abcd.com#Page1的URL。现在,当用户遍历Webview1中的第二个页面时,我需要在Webview2中加载www.abcd.com#Page2。同样,当用户浏览Webview1中的页面时,我需要相应地更改Webview2中的内容。

但是,如果我每次都使用Webview2.loadurl(),则加载会花费一些时间。相反,我只想更改内容而不重新加载它。

注意:我从Webview1获得了#Page1,#Page2等值,因此不必理会。请让我知道如何在不每次都在Android Webview中重新加载新网址的情况下实现此目标。

1 个答案:

答案 0 :(得分:0)

我知道了:

首先使用网址(例如www.abcd.com#Page1)加载Web视图。现在,无论何时要更新www.abcd.com#Page2之类的网址(哈希值从Page1更改为Page2),只需执行以下操作:

webView.evaluateJavascript("location.hash=\"" + url + "\";", new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String value) {
                if(Debugging.Enabled) Log.d(TAG(), "onReceiveValue(value): " + value);
                }
        });

其中url是新的哈希值。即第2页。 Webview加载速度非常快:)