js 怎样判断用户是否在浏览当前页面

 我来答
Kenn
2018-03-06 · TA获得超过517个赞
知道小有建树答主
回答量:703
采纳率:82%
帮助的人:192万
展开全部

要用websocket来搞定。不用websocket就要用ajax轮询来实现,比较耗资源。

nodejs简单的websocket 服务端实现

// 在安装了nodejs的情况,用npm install ws
const ws = require('ws')
const wss = new ws.Server({port: 8080})

let users = 0


wss.on('connection', function(ws) {
ws.on('message', function(message) {
// message的内容客户端发送过来
if (message === '进入') {
// 进入成功的时候,操作代码
users = ++users
console.log('正在浏览....', '在线用户数量:', users)
}
});
ws.on('close', function(close) {
try{
// 退出的时候,操作代码
users = --users
console.log('已经离开');
}catch(e){
}
});
ws.on('error', function() {});
})

客户端(浏览器):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script>
var ws = new WebSocket("ws://localhost:8080");
ws.onopen = function(e) {
console.log(e)
ws.send('进入')
}
ws.onclose = function(e) {
ws.send('离开了!!!!')
}
</script>
</head>
<body>
</body>
</html>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式