5
AndroidのWebViewでURLハッシュの変更を検出する必要がありますが、その方法はありません。 shouldOverrideUrlLoading()
は最初のページの読み込みでは起動しますが、ページが読み込まれると以降のハッシュの変更は発生しません。Android WebView:URLのハッシュ変更を検出することは可能ですか?
これはAndroid WebViewでも可能ですか?
AndroidのWebViewでURLハッシュの変更を検出する必要がありますが、その方法はありません。 shouldOverrideUrlLoading()
は最初のページの読み込みでは起動しますが、ページが読み込まれると以降のハッシュの変更は発生しません。Android WebView:URLのハッシュ変更を検出することは可能ですか?
これはAndroid WebViewでも可能ですか?
可能です。
private class MyJSI {
public void doStuff()
{
}
}
をそして、このようなJavascriptのインターフェイスを使用しての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(); };");
}
});
私はそれが役に立ちそうです。私はそれを試して、それは動作します。
onPageFinishedは、URLフラグメント(#)の変更を検出しました。 URLの変更後のみ。しかし、私たちはshouldOverrideUrlLoadingでできる限りそのような変更をオーバーライドすることができますか? –