我正在使用ASP Classic,我希望在我的页面上显示实时标签,指示当前有多少用户正在使用我的页面。
方案: 我有这个标签:
Current # of Users: 53 ---> 53 being the real time label
我想让它在有人进出时更新。
他们说这叫做递归功能,但我不知道应该怎么做。
请帮忙。 谢谢。
答案 0 :(得分:2)
您可以使用JavaScript和Classic ASP混合设置一个简单的监视器,或者使用JQuery来调用ASP代码中的查询函数。
就个人而言,如果你正在寻找相当轻量级的东西,我会使用JavaScript(毕竟,整个JQuery库必须通过管道输送到客户端浏览器,虽然相当小,但它仍然是〜95k可以更好地使用!)。
我会设置一个标准的VBScript / JScript页面来首先从数据库中提取信息。
在您的网页上设置div
以包含信息:
<div id="userCount"></div>
接下来,使用类似以下功能的内容将ASP页面中的信息提取到您创建的div
...
/*
AJAX extension to allow dynamic interaction between pages.
This section initialises the variable used to store the XMLHTTP request object.
*/
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari...
xmlhttp=new XMLHttpRequest();
}
else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
ajaxPage
Posts a request to the scripted specified page.
Parameters:
postPage (string) - The page to be opened.
paramList (string) - The list of parameters/values to be applied to the page.
Usage:
var targetBlock = document.getElementById("resultDiv");
targetBlock.innerHTML = ajaxPage("resultsPage.asp","calcVal=545")
Description:
This routine uses the xmlhttp requesting tools within JavaScript to act as an intermediary between
script and page. Specify all paramters in the paramList by separating with an ampersand (&).
*/
function ajaxPage(postPage, paramList) {
xmlhttp.open("POST",postPage,false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(paramList);
return xmlhttp.responseText;
}
然后在页面标题中设置JavaScript timer,如下所示:
<script>
// Every 10 seconds execute the following...
setInterval('document.getElementById("userCount").innerHTML = ajaxPage("myAspCounterScript.asp", "")', 10000);
</script>
请注意,我现在只能对自己的帖子发表评论(50次以下,但随时可以提问)...