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解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
Bootstrap每天必学之前端开发框架
Nov 19 Javascript
js实现异步循环实现代码
Feb 16 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
微信小程序左右滑动的实现代码
Dec 15 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 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
PHP新手上路(六)
2006/10/09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
PHP crc32()函数讲解
2019/02/14 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
初学JavaScript第二章
2008/09/30 Javascript
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
js实现小时钟效果
2020/03/25 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
工业自动化毕业生自荐信范文
2014/01/04 职场文书
电大本科自我鉴定
2014/02/05 职场文书
善意的谎言事例
2014/02/15 职场文书
安全生产承诺书
2014/03/26 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫