日期:2014-05-16 浏览次数:20487 次
fs = require 'fs'
url = require 'url'
html = fs.readFileSync(__dirname + '/simple.html')
#注意,这里要指向你自己的jquery库地址
jquery = fs.readFileSync(__dirname + '/../node/jquery-1.2.6.min.js')
server = require('http').createServer((req, res)->
  pathname = url.parse(req.url).pathname
  res.end html if pathname == '/'
  res.end jquery if pathname == '/jquery.js'
)
server.listen 8080
nowjs = require 'now'
everyone = nowjs.initialize server
timerid ={}#用于保存setInterval返回值
everyone.now.update = ->
  timerid[@user.clientId]= setInterval => #回调函数,要保存原this,用=>声明函数
      @now.updateMe(new Date().getTime())
  ,@now.interval
everyone.now.stop = ->
  clearInterval(timerid[@user.clientId])
everyone.disconnected ->#当断开连接时删除相应的timerid
  delete timerid[@user.clientId]exports.clearInterval = function(timer) {
  if (timer instanceof Timer) {
    timer.ontimeout = null;
    timer.close();
}console.log this.now.timerid instanceof Timer #输出false
this.now.myvalue = new String 'a' console.log this.now.myvalue instanceof String #输出false
<!DOCTYPE html>
<html lang="en">
<head>
    <title>nowjs test</title>
   <!-- 下面这两个引用不用动,服务器会处理好的 -->
    <script type="text/javascript" src="/jquery.js"></script>
    <script src="/nowjs/now.js"></script>
    <script>
        $(document).ready(function () {
            $('#btnStop').attr({"disabled":"disabled"});
            //now.ready(function(){//内建函数
            //	console.log('connect now ready.');
            //});
            $('#btnStart').click(function () {
                now.interval = parseInt($('#txtInterval').val());
                now.update();
                $(this).attr({"disabled":"disabled"});
                $('#btnStop').removeAttr("disabled");
            });
            $('#btnStop').click(function () {
                now.stop();
                $(this).attr({"disabled":"disabled"});
                $('#btnStart').removeAttr("disabled");
            });
            $('#btnClean').click(function () {
                $('#mess').text('');
            });
            now.update1 = function (val) {
                $('#mess').append('<br>' + val);
            }
        });
    </script>
</head>
<body>
<button id="btnStart">start</button>
interval:<input id="txtInterval" type="text" value='1000' size="4"/>ms
<button id="btnStop">stop</button>
<button id="btnClean">clean</button>
<div id="mess"/>
</body>
</html>