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 相关文章推荐
js 链式延迟执行DOME
Jan 04 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
jQuery消息提示框插件Tipso
May 04 Javascript
jQuery使用drag效果实现自由拖拽div
Jun 11 Javascript
jquery实现标题字体变换的滑动门菜单效果
Sep 07 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 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)提取出来的模板类
2011/06/28 PHP
Linux中为php配置伪静态
2014/12/17 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
js加解密 脚本解密
2008/02/22 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python中文竖排显示的方法
2015/07/28 Python
python logging日志模块的详解
2017/10/29 Python
浅析Python四种数据类型
2018/09/26 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
python中if及if-else如何使用
2020/06/02 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
学雷锋月活动总结
2014/04/25 职场文书
给朋友的道歉短信
2015/05/12 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
MySQL中order by的使用详情
2021/11/17 MySQL