如何用javascript获取某一网站上每10分钟更新一次的xml文件,然后保存到本地?

 我来答
big_yao_win
2011-11-14 · 超过33用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:64.7万
展开全部
获取xml,可以使用<script>标记的load形式,结合setInterval。
保存到本地,我给出一个html5的实现方式吧。
以下是全部的代码,从构建基础的xhr开始
<script type="text/javascript">
//不同的xhr对象,考虑到浏览器兼容性
HTTP._factories = [
function() { return new XMLHttpRequest(); },
function() { return new ActiveXObject("Msxml2.XMLHTTP"); },
function() { return new ActiveXObject("Microsoft.XMLHTTP"); }
];
//xhr 工厂
HTTP._factory = null;
//返回一个xhr对象
HTTP.newRequest = function() {
if (HTTP._factory != null) return HTTP._factory();
for(var i = 0; i < HTTP._factories.length; i++) {
try {
var factory = HTTP._factories[i];
var request = factory();
if (request != null) {
HTTP._factory = factory;
return request;
}
}
catch(e) {
continue;
}
}
// 如果没有符合的xhr,返回错误信息
HTTP._factory
= function() {
throw new Error("XMLHttpRequest not supported");
}
HTTP._factory(); // Throw an error
}
//这个是获取xml的函数
HTTP.getXML = function(url, callback) {
var request = HTTP.newRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
callback(request.responseXML);
}
request.open("GET", url);
request.send(null);
};
//保存局部变量
var staticNum = function(){
var i = 0;
storage(xmlRes, i);
}
//将xml保存至本地
var storage = function(xmlRes, i){
i += 1;
var name = "xmlRes" + i;
localStorage.setItem(name, foo);
}
//每10分钟发送一次请求
var xmlReq = setInterval(function(){
var url = "";
HTTP.getXML(url, storage);
}, 600000);
</script>
hanzsim
2011-11-14 · TA获得超过1540个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:1097万
展开全部
呵呵,哥们儿这回答可能拿不到分,不过你这问题是对你有用的,回答一下,自己斟酌一下.
JS那个定时器叫什么来着?好像setIntervar?在客户端的.
HttpXmlRequest这是Ajax的基础,其实根本没必要学Ajax,知道了Request怎么用,别的都是浮云
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
darkminded
2011-11-14 · TA获得超过281个赞
知道答主
回答量:72
采纳率:0%
帮助的人:93.3万
展开全部
用javascript? 保存到本地? 保存到哪个本地? 如果你想抓取对方服务器上的内容用php的file_get_contents方法. 如果你想用javascript只能用XHR, 但是它不支持跨域请求. 除非对方设置了Access-Control-Allow-Origin头允许你抓它的内容.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心晴89
2011-11-15 · TA获得超过2119个赞
知道答主
回答量:300
采纳率:0%
帮助的人:125万
展开全部
不知道哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式