通过查看源码发现
复制代码 代码如下:
// Create the request object; Microsoft failed to properly
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
// This function can be overriden by calling jQuery.ajaxSetup
xhr:function(){
return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
},
以下是这个jquery的源码的版本声明
复制代码 代码如下:
/*
* jQuery JavaScript Library v1.3.2
* http://jquery.com/
*
* Copyright (c) 2009 John Resig
* Dual licensed under the MIT and GPL licenses.
* http://docs.jquery.com/License
*
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
* Revision: 6246
*/
通过一个html打印“window.ActiveXObject ”的结果可以知道IE6、IE7和IE8都是返回的true,
测试的html源码为(同一个目录下有一个名为index.jsp页面,内容无所谓。)
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript">
$(function (){
$.ajax({
url:"index.jsp",
success:function(){alert("success")},
error:function(){alert("error")}
});
//$("div").append("<font color='red'>window.ActiveXObject:</font>");
//$("div").append((window.ActiveXObject?"true":"false"));
//alert(typeof(new XMLHttpRequest()));
//alert(typeof(new ActiveXObject("Msxml2.XMLHTTP.4.0")));
//alert(typeof(new ActiveXObject("Msxml2.XMLHTTP")));
//alert(typeof(new ActiveXObject("Microsoft.XMLHTTP")));
});
</script>
</head>
<body>
<div></div>
</body>
</html>
情况一:
不修改源码,则IE6中可以弹出“success”的提示,而IE7却没有任何提示,连错误提示都没有。
情况二:
将源码中的
window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
修改为
window.ActiveXObject ? new XMLHttpRequest() : new XMLHttpRequest();
则IE7中是弹出“success”的提示,而IE6却提示js错误,详情大概为”XMLHttpRequest对象未定义“
两种情况下FireFox都可以正常提示“success”,版本是FireFox3.5.3,其他浏览器不知道。
由此可见IE7中需要使用new XMLHttpRequest()初始化ajax对象,IE6则使用new ActiveXObject("Microsoft.XMLHTTP")
但是jQuery源码中却没有对IE7的初始化方法进行兼容,而官网上的兼容说明是IE6+。
难道是我理解错误,还是其他的什么?希望大家给点意见,jQuery很好用,但是我不能要求客户必须用IE6,而放弃IE7啊!
最后多一句:
prototype最新版1.6.1也是同样的问题IE7下的Ajax.Request是没有作用的,需要将源码的1130行左右的
复制代码 代码如下:
var Ajax = {
getTransport: function() {
return Try.these(
function() {return new XMLHttpRequest()},
function() {return new ActiveXObject('Msxml2.XMLHTTP')},
//function() {return new ActiveXObject('Msxml2.XMLHTTP.4.0')},
function() {return new ActiveXObject('Microsoft.XMLHTTP')}
) || false;
},
进行修改,注释的那个部分是需要添加的修改。
这样才可以在IE7下使用这个ajax请求方法。
可是大家粗略的看一下,这里面的ajax初始化是先使用new XMLHttpRequest()创建,那就是说,
如果我不修改的话IE7应该也是可以的。
注:最后这个多一句的IE7兼容办法是在网络上搜索到的
以上就是我今天研究的结果,弄的我很糊涂,到底这个IE6、IE7和IE8全面兼容的jQuery的到底怎么实现(不能影响FireFox等等哦)
如果结论是:
由此可见IE7中需要使用new XMLHttpRequest()初始化ajax对象,IE6则使用new ActiveXObject("Microsoft.XMLHTTP")
那么prototype中的又怎么解释?
我已经糊涂了,希望大家指点一二!
刚才又搜索了一下关于XMLHttpRequest的创建方法,最后将源码修改为
return window.XMLHttpRequest? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
则IE6\7\8和FF都可以运行了。
总算是解决了。
相关推荐:
AI免费生成文字,打造创作新时代
在线AI文章生成:内容创作新革命
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
seo网站页面优化包括什么,seo页面优化技术 ,no ai写作
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决常见问题!,ai招生广告设计
SEO快速优化文章排名:提升网站流量的必备技巧,ai小苹果会员分享
seo要会些什么,seo需要学些什么内容 ,轻盈ai
SEO优化如何为网站做好关键词研究和优化,ai直通
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
GPT-3模型下载:开启智能时代的无限可能,ai走入
AI网页版本:开启智能时代的新篇章,拼音标调ai
seo站内关键词优化,seo关键词优化经验技巧 ,ai 优点
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
BingAdapter设置数据后没有显示数据?解决方案在这里!,ai中如何把图变形
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
SEO组织:让您的网站流量倍增的秘密武器,seo 绩效标准
ChatGPT无服务:如何突破限制,未来人工智能的新可能,ai绘制装饰画
自动AI写文章:轻松创作时代的全新利器
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
线上AI写作免费一键生成,轻松提升写作效率,解放创作思维
Zkept:重塑未来生活的智能科技革新,营销推广的面试问题
撰写稿子的AI,写作的“超级助手”来了!
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
seo资源指的是什么,seo资料 ,绿眼AI
AI代写文章:高效创作的新风尚
seo要学什么语言,做seo需要什么语言 ,ai martino
SEO动态:2025年SEO趋势与优化技巧解析,十堰外贸网站推广费用
AI智能工具的无限可能:未来已来,你准备好了吗?
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
SEO能给企业带来什么价值,seo的影响 ,ai蓝衣美女
优化平台:让数字化转型更简单、更高效,莆田谷歌seo品牌排行
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
ChatGPT-4中文免费破解版:无需付费,体验最强AI助手,ai写作生成器官方下载
SEO总计:如何通过SEO优化实现网站流量和排名的飞跃,三元桥网站优化
中国AI软实力崛起:技术创新与产业应用的完美融合,seo0066
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
文章AI思维导图自动生成助力创作的智慧之源
SEO快速提升:让你的网站排名瞬间飙升的秘诀,网站建设的发展目标
seo辅助词选什么,seo助手 ,各车企ai
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考