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 类
Nov 07 Javascript
JavaScript 对象模型 执行模型
Dec 06 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
微信小程序实战之上拉(分页加载)效果(2)
Apr 17 Javascript
layui导航栏实现代码
May 19 Javascript
angular2 ng build部署后base文件路径问题详细解答
Jul 15 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
9个JavaScript日常开发小技巧
Oct 06 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
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
java字符串格式化输出实例讲解
2021/01/06 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
关于打架的检讨书
2014/01/17 职场文书
挂职自我鉴定
2014/02/26 职场文书
安全承诺书范文
2014/03/26 职场文书
青春奉献演讲稿
2014/05/08 职场文书
投标授权委托书范文
2014/08/02 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL