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

Jul*_*vka 7 javascript android google-chrome webview angularjs

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

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

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

应用在Chrome浏览器:http://gyazo.com/8a8a56bdac1eb7e91753bc4745433a42 应用在网页视图:http://gyazo.com/a58de6192aa822af05a2885560e66f91

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

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

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

 for (var result of results){
...
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*esh 9

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

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

  • webSettings.setJavaScriptEnabled(true)和webSettings.setDomStorageEnabled(true)为基于angularjs的网站提供了技巧。 (2认同)