javascript读写XML实现广告轮换(兼容IE、FF)


Posted in Javascript onAugust 09, 2013

xml结构如下

<ad>
<tupian>http://www.seehaha.com/images/060901-150.100.2.gif</tupian>
<tupian>http://www.seehaha.com/xml/061009-300.100.jpg</tupian>
<dizhi>http://www.seehaha.com/plan/</dizhi>
<dizhi>http://www.seehaha.com/va.htm</dizhi>
</ad>
==
// JScript 文件    
var  Now  =  new  Date();    
var  Min  =  Now.getSeconds(); 
var  i;       
if((Min % 2) == 1)
//读取秒数,根据奇偶随机轮换,当然也可以改变此处算法增加xml节点数  
{ 
i = 1;
}  
else 
{  i = 0;  }
var url = "xml/ads.xml";
String.prototype.Trim = function() { 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
}
var xmlDoc;
//判断是否为Firefox或IE 
var moz = (typeof document.implementation != 'undefined')   && (typeof document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined');
function importXML(file) { 
if (moz)  
{   
xmlDoc = document.implementation.createDocument("", "doc", null);
//创建FIREFOX下XML文档对象
}  
else if (ie)  
{   xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0"); 
xmlDoc.async = false;
while( xmlDoc.readyState != 4) {};
//创建IE下XML文档对象
}  
xmlDoc.load(file);
}importXML(url);//载入xml
function updatetupiandizhi()
{
if (moz) 
{ 
var ad = xmlDoc.getElementsByTagName("ad")[0];
var tupian; 
var _tupian = ad.getElementsByTagName("tupian")[i].firstChild.nodeValue;
if (_tupian)   tupian = _tupian.Trim();   
//得到tupian,dizhi节点下的值   
var dizhi;   
var _dizhi=ad.getElementsByTagName("dizhi")[i].firstChild.nodeValue;  
if(_dizhi) dizhi = _dizhi.Trim();  
document.getElementById('tupian').href = tupian;  
document.getElementById('dizhi').src = dizhi;  
//实现轮换   
} else if (ie) 
{var src = xmlDoc.documentElement.selectNodes("tupian");
var href = xmlDoc.documentElement.selectNodes("dizhi");
//得到tupian,dizhi节点下的值
document.getElementById("dizhi").href = href(i).text;
document.getElementById("tupian").src = src(i).text;   
//实现轮换 
}}
Javascript 相关文章推荐
javascript中万恶的function实例分析
May 25 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
Oct 06 Javascript
JQuery记住用户名和密码的具体实现
Apr 04 Javascript
JavaScript中的原型继承基础学习教程
May 06 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
webpack源码之loader机制详解
Apr 06 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
小程序云开发之用户注册登录
May 18 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 Javascript
jQuery prev ~ siblings选择器使用介绍
Aug 09 #Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 #Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 #Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 #Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 #Javascript
jquery实现文字由下到上循环滚动的实例代码
Aug 09 #Javascript
jquery 实现上下滚动效果示例代码
Aug 09 #Javascript
You might like
linux下php上传文件注意事项
2016/06/11 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python 随机数生成的代码的详细分析
2011/05/15 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
django如何实现视图重定向
2019/07/24 Python
pycharm配置git(图文教程)
2019/08/16 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
wxpython布局的实现方法
2019/11/01 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python3排序的实例方法
2020/10/20 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
小班上学期评语
2014/05/05 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
兵马俑的导游词
2015/02/02 职场文书
故意杀人案辩护词
2015/05/21 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
如何用python绘制雷达图
2021/04/24 Python
解决Pytorch中关于model.eval的问题
2021/05/22 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技