Android WebView で URL ハッシュの変更を検出する必要がありますが、その方法が見つかりません。 shouldOverrideUrlLoading()
最初のページの読み込み時に発生しますが、ページが読み込まれると、その後のハッシュの変更に対しては発生しません。
これは Android WebView でも可能ですか?
Android WebView で URL ハッシュの変更を検出する必要がありますが、その方法が見つかりません。 shouldOverrideUrlLoading()
最初のページの読み込み時に発生しますが、ページが読み込まれると、その後のハッシュの変更に対しては発生しません。
これは Android WebView でも可能ですか?
可能です。
次のように Javascript インターフェイスを宣言する必要があります。
private class MyJSI {
public void doStuff()
{
}
}
そして、次のように WebView を Javascript インターフェイスにリンクします。
webView.addJavascriptInterface(new MyJSI(), "myjsi");
次に、ページが読み込まれるときに JavaScript コードを記述して、ハッシュの変更時に doStuff 関数を呼び出す必要があります。
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url)
{
view.loadUrl("javascript:window.onhashchange = function() { myjsi.doStuff(); };");
}
});
お役に立てば幸いです。私はそれをテストしました、そしてそれは動作します。