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 AutoScroller 函数类
May 29 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
Dec 15 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 Javascript
利用node.js搭建简单web服务器的方法教程
Feb 20 Javascript
如何编写jquery插件
Mar 29 jQuery
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
JavaScript偏函数与柯里化实例详解
Mar 27 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
Nov 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
session在PHP大型web应用中的使用
2011/06/25 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
python实现的文件夹清理程序分享
2014/11/22 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
详解Python字典的操作
2019/03/04 Python
wxPython实现列表增删改查功能
2019/11/19 Python
python双向链表原理与实现方法详解
2019/12/03 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
数控技术与应用毕业生自荐信
2013/09/24 职场文书
校领导推荐信
2013/11/01 职场文书
征婚广告词
2014/03/17 职场文书
工程承包协议书
2014/10/20 职场文书
数学教师求职信范文
2015/03/20 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
乔迁新居祝福语
2019/11/04 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
Java移除无效括号的方法实现
2021/08/07 Java/Android
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL