Android:Web App在Chrome中运行,但不在Webview中运行

时间:2015-04-20 17:08:01

标签: javascript android angularjs google-chrome webview

我在我的网络应用中使用ng-hideng-show来处理根据用户的登录状态显示的内容。如果我在手机上使用Chrome浏览器并运行该网站,则此功能完全正常。

但是,当我尝试在我的应用或默认手机非Chrome浏览器上的网页浏览中显示它时,它无效。没有任何内容被隐藏,并且绑定到angularJS功能的按钮不起作用。请注意,我确实设置了setJavaScriptEnabled(true)

当我看到这个问题时,我注意到某些AngularJS功能在某些浏览器(尤其是IE)上不起作用,因此AngularJS可能与默认的Webview不兼容。那么是否有一种解决方法或某种方式让我使webview模拟Chrome浏览器?

Chrome浏览器上的应用:http://gyazo.com/8a8a56bdac1eb7e91753bc4745433a42 Webview上的应用:http://gyazo.com/a58de6192aa822af05a2885560e66f91

logcat中存在以下错误,我已经调查过并且没有任何意义,因为这两个变量在非webview环境中都没有问题。

  

E / Web控制台:未捕获的SyntaxError:意外的标识符:103
  E / Web控制台::未捕获错误:无模块:AuthApp:17

未捕获的语法错误对应于以下内容,其中结果是我从Parse获得的查询结果。请注意,我已在其他浏览器中检查了结果的内容,实际上是将结果返回给我的查询。

 for (var result of results){
...
}

1 个答案:

答案 0 :(得分:9)

在您的网页浏览中尝试这些设置。我过去在这些方面取得了成功

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