javascript通过单体模式、闭包封装一次嗅探浏览器api
2014-11-17 22:48
549 查看
<script type="text/javascript">
var SimpleXhrFactory=(function(){
var standard={
createXhrObject:function(){
return new XMLHttpRequest();
}
};
var activeXNew={
createXhrObject:function(){
return new ActiveXObject('Msxml2.XMLHTTP');
}
};
var activeXOld={
createXhrObject:function(){
return new ActiveXObject('Microsoft.XMLHTTP');
}
};
var testObject;
try{
testObject=standard.createXhrObject();
return standard;
}catch(e){
try{
testObject=activeXNew.createXhrObject();
return testObject;
}catch(e){
try {
testObject = activeXOld.createXhrObject();
}catch (e){
throw new Error('No XHR object found in this environment.');
}
}
}
})();
var xhr=SimpleXhrFactory.createXhrObject();
alert(xhr.toString());
</script>
var SimpleXhrFactory=(function(){
var standard={
createXhrObject:function(){
return new XMLHttpRequest();
}
};
var activeXNew={
createXhrObject:function(){
return new ActiveXObject('Msxml2.XMLHTTP');
}
};
var activeXOld={
createXhrObject:function(){
return new ActiveXObject('Microsoft.XMLHTTP');
}
};
var testObject;
try{
testObject=standard.createXhrObject();
return standard;
}catch(e){
try{
testObject=activeXNew.createXhrObject();
return testObject;
}catch(e){
try {
testObject = activeXOld.createXhrObject();
}catch (e){
throw new Error('No XHR object found in this environment.');
}
}
}
})();
var xhr=SimpleXhrFactory.createXhrObject();
alert(xhr.toString());
</script>
相关文章推荐
- 如何通过浏览器 JavaScript API 访问 MySQL 数据库
- 如何通过浏览器 JavaScript API 访问服务器数据库
- javascript 设计模式之单体模式-闭包
- Javascript 设计模式(二) 闭包
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- Javascript 设计模式(二) 闭包
- 通过javascript获取多种主流浏览器显示页面高度
- IE8开发人员工具使用详解下(浏览器模式、JavaScript调试)
- Flex中不使用FelxPrintJob通过ExternalInterface直接调用JavaScript利用浏览器本身的功能进行打印
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- javascript 设计模式之单体模式 面向对象学习基础
- asp.net通过反射技术实现Ajax(2)--前台javascript封装的Ajax对象
- 通过javascript 框架 Jquery 实现跨浏览器 画直线 斜线等线段
- JavaScript学习笔记2:通过user-Agent获取浏览器和操作系统信息
- javaScript 计算网页内容的宽与高 (浏览器的标准模式与怪异模式)
- JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
- Flex中不使用FelxPrintJob通过ExternalInterface直接调用JavaScript利用浏览器本身的功能进行打印
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- JavaScript 通过模式匹配实现重载
- JavaScript 闭包在封装函数时的简单分析