本文将探讨浏览器渲染的loading过程,主要有2个目的:
- 了解浏览器在loading过程中的实现细节,具体都做了什么
- 研究如何根据浏览器的实现原理进行优化,提升页面响应速度
背下这148句话,你可提高一个层次,不止在文学方面
1、知我者,谓我心忧,不知我者,谓我何求。(诗经王风黍离)
2、人而无仪,不死何为。 (诗经风相鼠)
3、言者无罪,闻者足戒。 (诗经大序)
get请求用jsonp或直接script标签就可以,只单向跨域POST数据不需要取得响应数据,用iframe可以解决,但是如果要跨域POST数据并取得响应的json数据,则需要用flash来做代理。
1.使用jsonp,只能用GET方式请求
请求页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[ $.ajax({ type: "GET", url:"http://a.com/test.php?a&jsoncallback=?", dataType: "json", success: function(data){ alert(data.a); } }); // ]]></script> |
被请求页:
print “{$_GET['jsoncallback']}(” . json_encode(array(‘a’=>’sss’, ‘b’=>’bbb’, ‘c’=>’哦’)).’)';
第二种方法,使用flash做代理
可参考
http://blog.monstuff.com/Flash4AJAX/static/Xdomain.html
http://blog.monstuff.com/archives/000280.html
http://blog.monstuff.com/archives/000277.html
http://blog.s135.com/ajaxcdr/
crossdomain.xml文档见
http://learn.adobe.com/wiki/download/attachments/64389123/CrossDomain_PolicyFile_Specification.pdf