2016-03-08 49 views
1

我是Android Studio的新手,遇到了一个我无法修复的问题。Javascript不能在Android webview工作

我试图在webView中运行HTML文件,但由于某种原因,当我尝试调用包含特定JS文件的特定HTML时,它会一直重新加载到我的起始页/索引文件。

注意:这些文件在每个桌面和移动浏览器都能正常工作,并且可以在Apple App中的UIWebView上工作。

我的MainActivity看起来是这样的:

MyWeb = (WebView) findViewById(R.id.myWebView); 
MyWeb.setWebViewClient(new WebViewClient()) 
MyWeb.getSettings().setJavaScriptEnabled(true); 
MyWeb.getSettings().setSaveFormData(true); 
MyWeb.getSettings().setDomStorageEnabled(true); 
MyWeb.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
MyWeb.loadUrl("URL"); 

如果我删除“MyWeb.setWebViewClient(新WebViewClient())”的一部分,该文件的工作,但应用程序启动与地址栏的浏览器。

请大家帮忙 - 我已经花了更多的时间来解决这个问题,比我更愿意承认。

+0

我其实是有一个类似的问题,但你的代码比我的好,尝试你的后,应用程序工作正常!谢谢,希望你也解决了你的问题。 – Giorgio25b

回答

0

为了它不是在浏览器中启动,你必须添加行

MyWeb.setWebChromeClient(new WebChromeClient());

2

正如你已经启用了必要的设置,尝试做这一次,

MyWeb.setWebChromeClient(new WebChromeClient() { 
    public void onProgressChanged(WebView view, int progress) { 
     activity.setProgress(progress * 1000); 
     } 
    }); 

    MyWeb.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) 
     { 
      // Handle the error 
     } 

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