Android:即使使用setJavaScriptEnabled(true)也无法使用javascript在WebView上运行

我是Android的完整菜鸟,这只是一个简单的测试。 基于本教程。

这是HelloWebApp.java

package com.company.something; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class HelloWebApp extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView webView = (WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("file:///android_asset/www/index.html"); } } 

这是来自res / layout / main.xml:

     

另外,这是我在Manifest上改变的全部内容:

  

至于javascript,我已经尝试了一切。 复杂,简单,在底部的身体内,在按钮上,在头上。 什么都行不通。 HTML工作正常。

在此先感谢您的帮助。

你错过了他补充的教程中的部分

 webView.setWebChromeClient(new WebChromeClient()); 

在添加之后

 webView.getSettings().setJavaScriptEnabled(true); 

这个方法的JavaDoc说:

设置chrome处理程序。 这是WebChromeClient的一个实现,用于处理Javascript对话框,favicon,标题和进度。 这将取代当前的处理程序。

如https://stackoverflow.com/a/7561674/1818089中所述 ,

随着

 mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebChromeClient(new WebChromeClient()); 

您需要启用DOM存储

 WebSettings webSettings = webView.getSettings(); webSettings.setDomStorageEnabled(true); 

只需添加

 import android.webkit.WebChromeClient; import android.webkit.WebView; 

在YourApp.java中