<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
var ii = 0;
$.ajax({
url:"/jquery/test1.txt",
async:false,
success:function(data)
{
for(var i=0;i<10000;i++){
ii ++
}
}
})
$(document).ready(function(){
alert(ii);
});
</script>
</head>
<body>
<div id="myDiv"><h2>通过 AJAX 改变文本rerer</h2></div>
<button id="b01" type="button">改变内容</button>
</body>
</html>
1.若是同步请求,当ii加载到10000时才会显示网页,若是异步请求,ii显示为0时就加载网页,不会影响整个网页的加载
结论:ajax是同步请求测试验证:测试发现要在网页上看到具体内容是for循环代码执行完成后才显示的
ajax是异步请求测试验证:测试发现网页显示不必等待for循环加载完成后才去显示网页,也就是异步请求不影响网页加载
可以想一想,JS代码的执行要先于HTML DOM模型的构件,没有DOM模型,浏览器应该不会知道如何渲染出网页的,
所以同步请求,会严重阻止网页的展示
测试还发现如果加载的JS文件如果一直获取不到,整个页面会白屏卡在那里一直等到JS加载呀
http://blog.163.com/hero_213/blog/static/398912142012112765625110/
http://blog.csdn.net/mynote/article/details/40922043
1.解析HTML结构。
2.加载外部脚本和样式表文件。
3.解析并执行脚本代码。(已验证:例如上面的验证)
4.构造HTML DOM模型。
5.加载图片等外部文件。
6.页面加载完毕。
注意:页面加载和渲染是同时进行的哦
webview可以设置阻止图片加载,在第六步骤之后再去放开图片加载,另外对于网页设计师傅,尽量把所有的JS延迟加载,
否则影响webview页面加载完毕事件的触发,影响图片请求,通过这种方式,可以快速展示网页基本形式之后再来
加载JS和图片资源,提高用户的体验!
我们暂且把上面的方案称为一级加速方案吧,下一节继续给我们的webview提速