重定向后,android javascript将无法正常工作

时间:2012-09-14 21:55:11

标签: javascript android redirect webview

我正在使用mWebView.addJavascriptInterface(this, XXX)来让java 输入代码herescript在webview上执行。

当我正在浏览的网页发送重定向时,问题就出现了。 我能够在同一个webview中捕获它并显示新的URL,但javascript将无效。

我找到的唯一解决方案是创建一个新的意图,在新的Activity上加载新页面。

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);
}
}

0 个答案:

没有答案