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 相关文章推荐
jquery 面包屑导航 具体实现
Jun 05 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
js判断子窗体是否关闭的方法
Aug 11 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
Aug 19 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
Vue.js基础知识小结
Jan 13 Javascript
JS改变页面颜色源码分享
Feb 24 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
如何给element添加一个抽屉组件的方法步骤
Jul 14 Javascript
Vue仿微信app页面跳转动画效果
Aug 21 Javascript
Vue页面跳转传递参数及接收方式
Sep 09 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
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
pm2 部署 node的三种方法示例
2017/10/20 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python中的并发编程实例
2014/07/07 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Python的多维空数组赋值方法
2018/04/13 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
好军嫂事迹材料
2014/01/15 职场文书
黄河的主人教学反思
2014/02/07 职场文书
工程采购员岗位职责
2014/03/09 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
工商局个人工作总结
2015/03/03 职场文书
信用卡收入证明范本
2015/06/12 职场文书
归途列车观后感
2015/06/17 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记