2016-03-08 130 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; 
     } 
    });