|zyciis| 我的一条判断图片是否存在的JS在FireFox中不能执行 谢谢 var oReq = new XMLHttpRequest();这么写是FOX里的 你写的只能在IE用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var createHttp = new Object(); createHttp.newXMLHttpRequest = function(){ var xmlreq = false; if(window.XMLHttpRequest){ xmlreq = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e1){ try{ xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e2){} } } return xmlreq; }最好这么写 先判断下是IE还是FOX var createHttp = new Object();createHttp.newXMLHttpRequest = function(){ var xmlreq = false; if(window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); }else if(window.ActiveXObject) { try { xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1) { try { xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2){} } } return xmlreq;}function IMGFind(oImg,pic){ createHttp.open("Get",pic,false); createHttp.send(); alert(createHttp.status); if(createHttp.status==404) { oImg.style.display="none"; setTimeout(function(){IMGFind(oImg, pic)},3000); } else { oImg.style.display=""; }}代码改成这样 IE都不行了 function IMGFind(oImg,pic){ var req = createHttp.newXMLHttpRequest(); req.open("Get",pic,false); req.send(); alert(req.status); if(req.status==404) { oImg.style.display="none"; setTimeout(function(){IMGFind(oImg, pic)},3000); } else { oImg.style.display=""; }} function IMGFind(oImg, pic){ /* Create a new XMLHttpRequest object to talk to the Web server */ var oReq = false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) try { oReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { oReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { oReq = false; } } @end @*/ if (!oReq && typeof XMLHttpRequest != 'undefined') { oReq = new XMLHttpRequest(); } oReq.open("Get", pic, false); oReq.send(); if (oReq.status == 404) { oImg.style.display = "none"; setTimeout(function(){ IMGFind(oImg, pic) }, 3000); } else { oImg.style.display = ""; }} RE:syukugai---------------------你这样的好像也和我上面的代码有什么不同呢你的关没有判断当为FireFox的时候怎么办啊你只是判断当有这个对像的时候执行这样没有效果啊 其实都没有什么不同.不过IE和FF下使用的组件的名字不同罢了.这都是标准的写法.2楼的写法也可以.就象在4楼的回答一样.你在3楼的代码之所以不好用,是因为你根本没有调用var req = createHttp.newXMLHttpRequest();来初始化.我上面的代码其实只是展示一下也可以这样来写.意义都一样.对了,/*@cc_on @*/是IE的条件编译. 下载文件,前台如何接收? 以前别人说JS简单,现在发现并非如此 如何用JS调用网页的头部,给个例子,谢谢 求助!判断文本框中必须为整数或小数,小数点不能多于2位,文本框不能为空,应该如何判断,谢谢!! 如何在提交完网页后,保留哪个radio被选中? extjs renderer传值 窗口间通信的问题 关于参数传递问题 简单的问题。 webpack配置报错! 紧急求救,在线等!网页左右广告随 浏览器 左右宽度 变化而变化的问题! 高手帮忙:仿阿里巴巴的一个导航菜单的脚本,点击样式变化
createHttp.newXMLHttpRequest = function(){
var xmlreq = false;
if(window.XMLHttpRequest){
xmlreq = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e1){
try{
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){}
}
}
return xmlreq;
}最好这么写 先判断下是IE还是FOX
var createHttp = new Object();
createHttp.newXMLHttpRequest = function()
{
var xmlreq = false;
if(window.XMLHttpRequest)
{
xmlreq = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
try
{
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1)
{
try
{
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2){}
}
}
return xmlreq;
}function IMGFind(oImg,pic)
{
createHttp.open("Get",pic,false);
createHttp.send();
alert(createHttp.status);
if(createHttp.status==404)
{
oImg.style.display="none";
setTimeout(function(){IMGFind(oImg, pic)},3000);
}
else
{
oImg.style.display="";
}
}代码改成这样 IE都不行了
{
var req = createHttp.newXMLHttpRequest();
req.open("Get",pic,false);
req.send();
alert(req.status);
if(req.status==404)
{
oImg.style.display="none";
setTimeout(function(){IMGFind(oImg, pic)},3000);
}
else
{
oImg.style.display="";
}
}
/* Create a new XMLHttpRequest object to talk to the Web server */
var oReq = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
oReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
oReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
oReq = false;
}
}
@end @*/
if (!oReq && typeof XMLHttpRequest != 'undefined') {
oReq = new XMLHttpRequest();
}
oReq.open("Get", pic, false);
oReq.send();
if (oReq.status == 404) {
oImg.style.display = "none";
setTimeout(function(){
IMGFind(oImg, pic)
}, 3000);
}
else {
oImg.style.display = "";
}
}
---------------------
你这样的好像也和我上面的代码有什么不同呢
你的关没有判断当为FireFox的时候怎么办啊
你只是判断当有这个对像的时候执行
这样没有效果啊
不过IE和FF下使用的组件的名字不同罢了.这都是标准的写法.
2楼的写法也可以.
就象在4楼的回答一样.
你在3楼的代码之所以不好用,
是因为你根本没有调用var req = createHttp.newXMLHttpRequest();来初始化.我上面的代码其实只是展示一下也可以这样来写.
意义都一样.对了,/*@cc_on @*/是IE的条件编译.