思维导图培训课件:XMLHTTP如何在对方客户端弹出网页?

来源:百度文库 编辑:查人人中国名人网 时间:2024/07/14 08:41:38
XMLHTTP如何在对方客户端弹出网页?

按照你的要求:
用户A在线点击client.asp上的按钮,在线网站管理员B的计算机弹出窗口。前提是管理员B必须长期打开admin.htm来监测。
分开4个文件。但是要注意,如果不是本地且在页面一开始就执行pop()方法。一般情况下都会被浏览器阻止。点击按钮时才执行一般都没问题。
代码如下:

admin.htm
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>管理员监测窗口</title></head><body>
<script language="javascript" type="text/javascript">
function pop(){
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET", 'result.asp',true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
if(xmlhttp.responseText.indexOf('yes') > -1){window.open('yes.htm','','height=200,width=200');}
setTimeout('pop()',10000);//每10秒检查一次,可以根据需要改变数值。
}
}
xmlhttp.send(null)
}
pop();//可以在一开始就检测,如果担心会被浏览器阻止,就去掉这局,点击下边的“马上检测”按钮才监测。
</script><input type="button" name="Submit" value="马上监测" onClick="pop();" /></body>
</html>

result.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Response.Expires = -1
If Application("counts") > 0 then
Application("counts") = 0
Response.Write("yes")
Else
Response.Write("no")
End If
%>

yes.htm
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>弹出窗口</title></head><body>弹出窗口</body></html>

client.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%If Request.Form("action") = "1" Then Application("counts") = 1
%>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>客户端</title></head>
<body>
<form id="form1" name="form1" method="post" action="">
<input type="hidden" name="action" value="1" />
<input type="submit" name="Submit" value="提交(通知管理员)" />
</form>
</body></html>

我不太清楚,你要怎么弹?
但可以明确的告诉你:如果要弹出那种广告式的窗口,用的是JS的 window.open方法!
至于XMLHTTP只是用来在后台向服务器提交请求和提取数据的一种方式!

XMLHTTP