跨域HTTP请求
来源:互联网 发布:我所理解的生活 知乎 编辑:程序博客网 时间:2024/06/13 22:38
HTML部分
<a href="http://img5.imgtn.bdimg.com/it/u=1478257864,2882073929&fm=21&gp=0.jpg" >测试1</a><a href="http://apis.baidu.com/apistore/weatherservice/citylist" >测试2</a><a href="http://apis.baidu.com/apistore/weatherservice/citylist" >测试3</a><a href="http://apis.baidu.com/apistore/weatherservice/citylist" >测试4</a>
JS代码部分
//跨域HTTP请求function getScriptByCors(){ var supportsCORS = (new XMLHttpRequest()).withCredentials !== undefined; //遍历页面上的所有连接 var links = document.getElementsByTagName('a'); for (var i = 0; i < links.length; i++) { var link = links[i]; if(!link.href) continue;//跳过没有超级链接的描点 if(link.title) continue;//跳过已经有了工具提示的链接 //如果这是一个跨域的链接 if(link.host !== location.host || link.protocol !== location.protocol){ link.title = '站外链接'; if(!supportsCORS){ continue; //如果不支持cors 那么就直接退出 } } if(link.addEventListener){ //注册监听事件 link.addEventListener('mouseover',moseMoveHandler,false);//不需要进行捕捉事件 }else{ //IE 事件模型 link.attachEvent('onmouseover',moseMoveHandler); } } function moseMoveHandler(event){ event = event || window.event; var target = event.target || event.srcElement; var url = target.href; var xhr = new XMLHttpRequest(); xhr.open('HEAD',url); xhr.onreadystatechange = function(){ if(xhr.readyState !== 4) return; if(xhr.status === 200){ var type = xhr.getResponseHeader('Content-Type'); var size = xhr.getResponseHeader('Content-Length'); var date = xhr.getResponseHeader('Last-Modified'); alert(type); //在工具提示中显示详细信息 link.title = '类型:'+type+'\n'+'大小:'+size+'\n'+'时间:'+date+'\n'; }else{ //请求失败 if(!link.title){ link.title = 'can not fetch details :\n'+xhr.status+" "+xhr.statusText; } } }; xhr.send(null); //移除处理程序 if(link.removeEventListener){ link.removeEventListener('mouseover',moseMoveHandler,false); }else{ //IE事件模型 link.detachEvent('onmouseover',moseMoveHandler); } }}
0 0
- 跨域HTTP请求
- HTTP请求
- http请求
- http请求
- HTTP请求
- HTTP请求
- Http 请求
- http 请求
- HTTP请求
- http请求
- http 请求
- HTTP请求
- HTTP请求
- http请求
- http请求
- http请求
- HTTP请求
- http请求
- python的【爬虫】:使用urllib爬取wiki文章,使用beautifulSoup解析html
- 理解继承、封装和多态,分清重载和重写
- 简单聊聊寻找实习的过程
- CodeForces 19D Points
- iOS`UITableView`使用系统多选 全选自定义选中背景色 cell多选
- 跨域HTTP请求
- Android 颜色渲染(二) 颜色区域划分原理与实现思路
- 浅谈Volley网络框架(一)
- Linux环境下调试C程序
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- 漫谈IM通信架构
- Apache更换ssl https证书问题注意事项
- 获取UUID
- 源码解读Mybatis List列表In查询实现的注意事项