【发布时间】:2012-05-26 14:52:13
【问题描述】:
这里我有 3 个数字 i+j+k 的代码,但我想知道如何配置服务器文件以使用 setTimeout 函数...有什么限制吗?
所以,这是我的代码:
index.jade
!!! 5
html
head
title Test
body
form(name='form1', method='post', action='')
label(for='1')
input#1(type='text', name='1')
label(for='2')
input#2(type='text', name='2')
label(for='3')
input#3(type='text', name='3')
input(name='submit', type='button', value='submit')
span #{result}
app.js
var express = require('express');
app = express.createServer();
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set("view options", { layout: false });
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.use(express.bodyParser());
app.get('/', function(req, res){
var result;
res.render('index', {result: ''});
});
app.post('/', function(req, res){
var i = req.param('1', 0);
i = parseInt(i);
var j = req.param('2', 0);
j = parseInt(j);
var k = req.param('3', 0);
k = parseInt(k);
var r = i+j+k;
res.render('index', {result:r});
});
app.listen(3010);
如何阻止用户操作(单击、双击、右键单击)并在前 5 秒内向他显示带有文本“您可以执行任何操作”的 div,之后用户可以执行操作,但 60 秒后又不能执行任何操作...我可以使用 setTimout 函数或如何执行此操作吗???
对不起我的英语
【问题讨论】:
-
在客户端使用 javascript 很容易,但我需要使用服务器控制用户,所以我需要在服务器端文件 app.js 上编写该函数,我可以使用 setTimeot 还是???
-
click,doubleclick,rightclick等事件只发生在客户端。服务器端获取事件,例如新的传入请求。虽然您可以在服务器端使用setTimeout,但这并没有真正改变任何事情。 -
好的,但这是一个很好的解决方案,可以向我展示一些将覆盖所有屏幕 5s 然后分散的 div ......所以在 css 上,我将有一个宽度:100%、高度:100% 和如何我可以在 5 秒后按时更改可见性等...所以当 5 秒过后我会更改可见性:可见 ... 或在一段时间后隐藏???
-
当我用 DIV 100% 覆盖屏幕时,用户无法执行任何操作? :)
-
是的,他们可以(有一定的计算机知识),但如果距离上次请求不到 60 秒,您可以简单地拒绝在服务器端提供服务...
标签: javascript node.js express settimeout pug