内部WebView问题中的Android加载URL

时间:2014-05-13 11:20:56

标签: android-webview

在我的应用内部网页视图中加载时,我遇到了特定网站的问题。

在LogCat中我得到这两行(标签是"铬")。

[INFO:CONSOLE(25)] "Uncaught TypeError: Cannot call method 'getItem' of null", source: http://m.ynet.co.il/Default_Ynet.aspx?type=3&id=4519238 (25)
[INFO:CONSOLE(73)] "Uncaught TypeError: Cannot call method 'push' of undefined", source: http://m.ynet.co.il/Default_Ynet.aspx?type=3&id=4519238 (73)

如果我重定向到外部浏览器,一切都很好。它也只发生在上面的网站上(参见logcat)

public class WebActivity extends Activity {
WebView wv;
final Activity activity = this;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setProgressBarIndeterminateVisibility(true);
    setContentView(R.layout.activity_web);
    wv = (WebView)findViewById(R.id.webView1);
    Intent intent = getIntent();
    final String url = intent.getStringExtra("url");
    Log.i("webView", url);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setLoadWithOverviewMode(true);  
    wv.getSettings().setUseWideViewPort(true);  
    wv.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });
    wv.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    wv.loadUrl(url);
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

事实证明,在此特定网站上使用shouldOverrideUrlLoading方法(如下)时出现问题。

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        view.loadUrl(url);
        return true;
    }

删除后一切都很好......