1

私は自分の問題を説明しようとします:

  • ユーザーごとに接続するファイルがあります:user1.txtuser2.txt(javascriptコードを含む)
  • アプリケーションの進化に応じてそれらを更新するスクリプトがあります
  • 各ユーザーはファイルdemo.phpを呼び出します。

クライアントHTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>demo game</title>
    <script src="/js/jquery-1.8.3.min.js"></script>
    <script src="http://127.0.0.1:8080"></script>
  </head>
  <body>
    <div id="messages"></div>
  </body>
</body>
</html>

ノードserver.js:

    var server = require('http').createServer(function(req, res){

               setInterval(function() {
                    mycode = html.readFileSync(__dirname+'/user1.txt');

                    socket.end(mycode+"\n");
                    console.log('data sent'+mycode);

                }, 1000);

         });

    server.listen(8080);

そして、user1.txtの内容が次のようになっているとしましょう。$("#messages").append("<br> hello");

user1.txtの包含を送信することは問題なく、クライアント側で実行されますが、user1.txtに変更が含まれている場合は、に表示されます。console.log('data sent'+mycode);送信されたものと思われますが、実行されません。なぜですか?

write()の代わりに試してend()みて、:で試してみます

var net = require('net');
var html = require('fs');
var server = net.createServer({ allowHalfOpen: true},....

同じ!

もう一度:クライアント側で「ライブJavaScriptコード」を送信するにはどうすればよいですか?

少し早いですがお礼を

ダニー

4

1 に答える 1

1

ブラウザは、のレンダリング前にスクリプトをロードできます<div id="messages"></div>。この場合、コードは実行されますが、効果はありません。user1.txt次のようにコードを変更してみてください。

$(function() {
    $("#messages").append("<br> hello");
});
于 2012-12-29T19:24:48.873 に答える