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中filter(),not(),split()使用方法
Jul 06 Javascript
jquery中对于批量deferred的处理方法
Jan 22 Javascript
中止javascript执行的方法
Feb 14 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
学习JavaScript设计模式之状态模式
Jan 08 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
Nov 18 Javascript
JavaScript基础之this详解
Jun 04 Javascript
AngularJS日程表案例详解
Aug 15 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
javascript实现画板功能
Apr 12 Javascript
小程序自定义轮播图圆点组件
Jun 25 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
深入理解Promise.all
2018/08/08 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
一套带答案的C++笔试题
2014/01/10 面试题
专业毕业生个性的自我评价
2013/10/03 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
乔迁之喜主持词
2014/03/27 职场文书
运动会口号16字
2014/06/07 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
七年级英语教学反思
2016/02/15 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
vscode中使用npm安装babel的方法
2021/08/02 Javascript
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL
python数字图像处理实现图像的形变与缩放
2022/06/28 Python