日期:2014-05-16 浏览次数:20408 次
Android官方网站时常被墙,而且下载下来的sdk只是一个sdk manager,还需要以非常慢的速度下载需要的sdk版本。
写了一个简单的JavaScript脚本,可以方便的获取最新的全部SDK版本的下载链接。复制一下内容,另存为本地的一个HTML文件,打开即可通过迅雷下载。下载后,放至android-sdk-windows目录下的temp目录下,使用SDK Manager升级即可,免去下载直接安装。
很久没写js,生疏的紧,正则也调试了半天,懒得用xml解析了。
?
发现问题
本想直接在页面执行,获取并展示url地址,但是在xmlhttp.open执行时,错误,想起来不能跨域执行,代码在本地可以执行,在站点上可就算跨域了。回头要结合服务端代码php改写一个。
代码在chrome和firefox下执行有问题,本地也不允许跨域。
判断xmlhttp.status时,返回值ie和firefox不同。索性不判断了。
<script language="javascript"> var xmlhttp; if(window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } xmlhttp.open("GET", "http://dl-ssl.google.com/android/repository/repository.xml",true); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { var str=xmlhttp.responseText; var pattern=/[A-Za-z0-9_\-\.]*zip/gi; var addrs=str.match(pattern); var strAddress=""; if(addrs!=null) { for(var i=0;i<addrs.length;i++) { strAddress+="<a href=\"http://dl-ssl.google.com/android/repository/"+addrs[i]+"\">"+addrs[i]+"</a><br />"; } } document.write(strAddress); } } xmlhttp.send(null); </script>
?=================================
来源:?http://madgoat.cn/2011/02/get_android_sdk_download_url_by_javascript/