Firefox 下AJAX运行不正常 求高人帮忙修改(解决立马结贴)

wang520d 2008-01-15 11:58:16
请分别用IE浏览器跟Firefox浏览器打开下面的地址
http://www.itzhiling.com/au/opt.htm

你就可以看到效果:该地址在Firefox下面打开后 AJAX查询不会因为有有提示窗口而停止

下面是代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="ajax.js"></script>
<title>Auditing</title>
<style>
*{
font-size:16px;

}
#au{
position: absolute; width:10px; height:10px; z-index:5;
left:0px;top:0px;
display:none;
border:#3399ff 3px solid;
background-image:url('blog_line.gif');
}

</style>

</head>

<body>
操作员页面

<div id="tip"></div>
<script>

//查询间隔时间(秒)
var counter=20;
var showed=false;
getContent('st.htm');

//
window.setInterval("query()",1000);

function query(){
if(showed) return ;
counter--;
document.getElementById("tip").innerHTML="Ajax查询将于"+counter+"秒后发出...";
if(counter<=0){
getContent('st.htm');
window.setTimeout("showMsg()",600);
counter=20;
document.getElementById("tip").innerHTML="Ajax查询已经发送!";
}
}

function showMsg(){
if((str!="") && confirm("有新用户 "+str+" 注册,现在立即审核吗?")){
showed=true;
var obj=document.getElementById("au");
obj.style.display="inline";
obj.style.left="0px";
obj.style.width=document.body.offsetWidth-30;
obj.style.height=document.body.offsetHeight-30;
document.getElementById("au2").src="au.aspx";
}
}

function hideDiv(nID){
document.getElementById("au").style.display="none";
showed=false;
getContent('st.htm');
}

</script>
<div id="au" ><a href="javascript:hideDiv('au')">关闭审核页面</a>
<iframe name="au2" id="au2" width="100%" height="100%" marginwidth="1" marginheight="1" border="0" frameborder="0"></iframe>
</div>

</body>

</html>


ajax.js

var xmlhttp=initxmlhttp();
var str;
function initxmlhttp( )
{
var xmlhttp_request = false;
try
{
if (window.ActiveXObject)
{
for (var i = 5; i; i--)
{
try
{
if (i == 2)
{
xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP." + i + ".0");
xmlhttp_request.setRequestHeader("Content-Type", "text/xml");
xmlhttp_request.setRequestHeader("Content-Type","gb2312");
}
break;
}
catch (e)
{
alert("catch")
xmlhttp_request = false;
}
}
}
else if (window.XMLHttpRequest)
{
xmlhttp_request = new XMLHttpRequest();
if (xmlhttp_request.overrideMimeType)
{
xmlhttp_request.overrideMimeType('text/xml');
}
}
}
catch (e)
{
xmlhttp_request = false;
}
return xmlhttp_request;
}


function getContent(url){
url=url+"?"+new Date();
//alert(url);
//document.getElementById(div_ID).innerHTML="发送查询请求...";
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
//alert(xmlhttp.responseText);
str=xmlhttp.responseText;
//document.getElementById(div_ID).innerHTML="查询完成!";
return xmlhttp.responseText;
}else{
return "0";
}
}
xmlhttp.send(null);
}
...全文
133 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang520d 2008-01-16
  • 打赏
  • 举报
回复
上楼的说的很有道理 可是我该这么改代码呢?
我要实现的就是 用AJAX定时访问某个HTM页面。。。

请分别用IE浏览器跟Firefox浏览器打开下面的地址
http://www.itzhiling.com/au/opt.htm

你就可以看到效果:问题:该地址在Firefox下面打开后,AJAX查询不会因为有有提示窗口而停止
wang520d 2008-01-15
  • 打赏
  • 举报
回复
高手还米有吃完饭吗?
shiweiwei1997 2008-01-15
  • 打赏
  • 举报
回复
看不懂你要实现什么功能,也不知道你要解决什么问题。
不过你这段代码肯定会有问题:
window.setInterval("query()",1000);

function query(){
if(showed) return ;
counter--;
document.getElementById("tip").innerHTML="Ajax查询将于"+counter+"秒后发出...";
if(counter <=0){
getContent('st.htm');
window.setTimeout("showMsg()",600);
counter=20;
document.getElementById("tip").innerHTML="Ajax查询已经发送!";
}
}

每隔1秒执行一次query函数,里面的getContent用了异步请求,返回的时间不确定,有可能小于600ms,也可能大于600ms,所以在showMsg函数里判断str是否为空的结果也不确定。
对于showed变量的判断,同样存在不确定因素。

wang520d 2008-01-15
  • 打赏
  • 举报
回复
晕了 一个这样的问题发在AJAX版没有人解答
wang520d 2008-01-15
  • 打赏
  • 举报
回复
ajax 版没有人能解决吗?
访问真八字排盘系统介绍: 1、八字排盘 八字排盘是将年月日时按照天干地支的形式进行排列,一个时间单位代表了一个柱。八字由年柱、月柱、日柱和时柱共四个柱组成,也被称为四柱八字。八字学中基于中国阴阳五行、天干地支与刑冲克害、以及民间盲派的神煞论等方式,进一步预测爱情顺遂、工作高低、姻缘好坏、财富高低、学业成就、身体健康等事的学问。 八字排盘由以下元素组合:年月日时四柱、大运干支、胎元 、流年干支、十神、地势、神煞等。生辰八字不只是把干支历计算出来,而还要遵守月令、节令的强弱,时辰的阴阳变化进行校正。排盘分析,就是根据出生者的性别、天干地支的阴阳五行关系、进一步推算出来的一套方法论,给预测者做人生吉凶的参考数据,在未来事业、财运、婚姻、家庭等问题时,能做出风险较低的决策。 八字排盘怎么看 八字排盘由年、月、日、时四柱组成,每柱包含一个天干和一个地支,共八个字。年柱代表出生的年份,月柱代表出生的月份,日柱代表出生的日期,时柱则代表出生的时辰。每个柱的干支组合都会对个人的命运产生影响。天干地支旁边标注的正财、偏财、偏印、正印、比肩、劫财、食神、伤官、正官、七杀等,称为十神。 2、八字排盘软件介绍 我们是腾讯云市场金牌合作伙伴,广州正规软件开发公司,开发的八字排盘系统数据最全面精准,我们八字排盘采用最精确的排盘程序,而且运用“真太阳时”,进行更精确的时间划分。大家都知道我们使用的北京时间,是统一规定的标准时间。而八字排盘需要相对于太阳方位的天文时间,即平太阳时。我们国家地大物博,北京时间19时,哈尔滨已经夜幕降临,而新疆却还是太阳高挂,这时哈尔滨的天文时间可能在20:00以后,而新疆的天文时间可能在16时以前。北京时间是东经120度经线的平太阳时,如果您出生地的经度与北京时间所处的经度差异较大,或者处于单数时间点的前后,比如6点差一刻,8点,10点15分等

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧