2

私はmWebView.addJavascriptInterface(this, XXX)JavaがWebビューでコードを入力できるようにするために使用しています。

閲覧している Web ページがリダイレクトを送信するときに問題が発生します。同じ Web ビューに新しい URL を表示してキャプチャすることはできますが、javascript は機能しません。

私が見つけた唯一の解決策は、新しいページを新しいアクティビティにロードする新しいインテントを作成することです。

public class QBrowser extends Activity {

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.qbrowser_main);
    mWebView = (WebView) findViewById(R.id.webview);

    webSettings.setJavaScriptEnabled(true);

    mWebView.setWebChromeClient(new MyWebChromeClient());

    mWebView.setWebViewClient(new WebViewClient() {   
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // BEGIN: THE WORK AROUND I DONT LIKE
            Intent intent = new Intent("com.bcnquark.client.qbrowser.QBROWSER");
            intent.putExtra("URL", url);
            startActivity(intent);
            finish();
            // END:THE WORK AROUND I DONT LIKE
            return true;
        }});


    Intent intent = getIntent();
    String url = intent.getStringExtra("URL");
        mWebView.addJavascriptInterface(this, "XXXX");
    }

    mWebView.loadUrl(url);
}
}
4

0 に答える 0