我在我的网络应用程序中使用ng-hide和ng-show来处理根据用户的登录状态显示的内容.如果我在手机上使用Chrome浏览器并运行该网站,则此功能完全正常.
但是,当我尝试在我的应用或默认手机非Chrome浏览器上的网页浏览中显示它时,它无效.没有任何内容被隐藏,并且绑定到angularJS功能的按钮不起作用.请注意,我确实设置了setJavaScriptEnabled(true).
当我看到这个问题时,我注意到一些AngularJS功能在某些浏览器(尤其是IE)上不起作用,因此AngularJS可能与默认的Webview不兼容.那么是否有一种解决方法或某种方式让我使webview模拟Chrome浏览器?
Chrome浏览器上的应用:http://gyazo.com/8a8a56bdac1eb7e91753bc4745433a42
Webview上的App:http://gyazo.com/a58de6192aa822af05a2885560e66f91
logcat中存在以下错误,我已经调查过并且没有任何意义,因为这两个变量在非webview环境中都没有问题.
E/Web Console﹕ Uncaught SyntaxError: Unexpected identifier:103
E/Web Console﹕: Uncaught Error: No module: AuthApp:17
未捕获的语法错误对应于下面的内容,其中结果是我从Parse获得的查询结果.请注意,我已经在其他浏览器中检查了结果的内容,实际上它将结果返回给我的查询.
for (var result of results){ ... }
解决方法
在您的网页浏览中尝试这些设置.我过去在这些方面取得了成功
mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setDomStorageEnabled(true); mWebView.setWebChromeClient(new WebChromeClient());