题
我想知道什么是让web webview在单页面应用程序加载中表现最佳的最佳方法.
情况
我已经有一个使用AngularJS的Web应用程序.
目前,我正在构建一个Android应用程序,并使用webview作为该视图的主视图.
每当用户单击本机菜单时,此Android应用程序就会发送http请求.
遗憾的是,webview加载非常缓慢,因为它始终从我的Web应用程序获取整个资源,尽管单页应用程序的一大好处是url路由功能,而没有完全刷新页面,正如我所理解的那样.下面是我的webview加载代码.setCacheMode(WebSettings.LOAD_DEFAULT)虽然我没有改变.
webviewFragment.java
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String url = getArguments().getString("URL");
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAllowFileAccess(true);
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
webView.loadUrl(url);
webView.setWebViewClient(new WebViewClient() {
// handle url-scheme
}
webView.setWebChromeClient(new WebChromeClient() {
// handle reaction for UI Component
}
}
Run Code Online (Sandbox Code Playgroud) 的test.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script>
var eles = document.getElementsByClassName('review');
console.log(eles);
console.log(eles.length);
console.log(eles[0]);
// for(var i=0, max=eles.length)
</script>
</head>
<body>
<div class="review"></div>
<div class="review"></div>
<div class="review"></div>
<div class="review"></div>
<div class="review"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
我检查了eles代表HTMLCollenction.
这里说HTMLCollection还通过名称和索引直接将其成员公开为属性.
所以我尝试通过console.log(eles.length)和console.log(eles [0])进行调试.但不幸的是,控制台显示0和未定义.(使用谷歌Chrome工具开发人员)
我怎样才能访问eles的结果?我想更改样式并将属性添加到ClassName获取的标签.另外,我只能使用自然的Javascript.