在发送 Web 应用程序文件之前在 node.js 中设置客户端屏幕尺寸验证的最简单方法?
Lightest way to set a client screen size validation in node.js before sending web app files?
我用 node.js 和 socket.io 编写了一个网络应用程序。我不希望设备屏幕小于 500px*500px 的客户端加载游戏。我想验证客户端屏幕尺寸服务器端,然后发送沉重的游戏文件,或者如果设备屏幕不够大,请 html 小心。我尽量避免吃饼干。这可能吗?
谢谢
在服务器中:
socket.emit('screen');
socket.on('size', data => {
let width = data.width,
height = data.height;
//some code here
});
在客户端(使用jQuery):
socket.on('screen', () => {
let width = $(window).width(),
height = $(window).height();
socket.emit('size', {width, height});
});
如果不使用jQuery可以分别发送window.innerWidth
和window.innerHeight
。
您可以在客户端轻松完成。看看这个简单的例子:
server.js
const express = require('express');
const app = express();
app.get('/', (req,res) => {
res.sendFile(__dirname + '/hello.html');
});
app.get('/small', (req,res) => {
res.sendFile(__dirname + '/small.html');
});
app.get('/game', (req,res) => {
res.sendFile(__dirname + '/game.html');
});
app.listen(3000);
hello.html
<html>
<body>
<h1>Hello</h1>
<script>
if (window.innerWidth < 500 || window.innerHeight < 500) {
window.location.assign('small');
} else {
window.location.assign('game');
}
</script>
</body>
</html>
small.html
<html>
<body>
<h1>Small screen :-(</h1>
</body>
</html>
game.html
<html>
<body>
<h1>Loading The Game</h1>
</body>
</html>
我用 node.js 和 socket.io 编写了一个网络应用程序。我不希望设备屏幕小于 500px*500px 的客户端加载游戏。我想验证客户端屏幕尺寸服务器端,然后发送沉重的游戏文件,或者如果设备屏幕不够大,请 html 小心。我尽量避免吃饼干。这可能吗?
谢谢
在服务器中:
socket.emit('screen');
socket.on('size', data => {
let width = data.width,
height = data.height;
//some code here
});
在客户端(使用jQuery):
socket.on('screen', () => {
let width = $(window).width(),
height = $(window).height();
socket.emit('size', {width, height});
});
如果不使用jQuery可以分别发送window.innerWidth
和window.innerHeight
。
您可以在客户端轻松完成。看看这个简单的例子:
server.js
const express = require('express');
const app = express();
app.get('/', (req,res) => {
res.sendFile(__dirname + '/hello.html');
});
app.get('/small', (req,res) => {
res.sendFile(__dirname + '/small.html');
});
app.get('/game', (req,res) => {
res.sendFile(__dirname + '/game.html');
});
app.listen(3000);
hello.html
<html>
<body>
<h1>Hello</h1>
<script>
if (window.innerWidth < 500 || window.innerHeight < 500) {
window.location.assign('small');
} else {
window.location.assign('game');
}
</script>
</body>
</html>
small.html
<html>
<body>
<h1>Small screen :-(</h1>
</body>
</html>
game.html
<html>
<body>
<h1>Loading The Game</h1>
</body>
</html>