私が見つけたドキュメントはすべて、情報を得るために「他の人のページをスクレイピングする」ことjsdom
に関するものだったようです。またはのいずれかを使用して、ユーザーがいるページを更新します。コードを書くときは、パブリック ディレクトリにある JavaScript ファイルにリンクする通常のタグを使用するだけでよいことはわかっていますが、それが可能であれば、サーバーからその方法を学びたいと思っています。私が本当に望んでいるのは、複数のユーザーがページに接続できるようにし、1 人のユーザーがアクションを実行したときにすべてのユーザーのページを更新できるようにすることです。たとえば、ボタン 1 は背景を黒にします。ボタン 2 は赤に、ボタン 3 は白に変わります。間違っている場合は訂正してください。ただし、タグを介して JavaScript ファイルにリンクすることで、それが可能になるとは思いません。だから見ているjsdom
node-jquery
<script>
<script>
jsdom
:
jsdom.env({html: ???, src: jquery, done: callback });
わかりましたので、ここに問題番号 1があります。DOM オブジェクトを取得するために、このビットのコードで html に何を入力すればよいか、または何ができるかわかりません。私のファイルは jade で書かれているので、ファイルからロードすることはできません。次に、このコードをコードのルーティング部分に配置して、req
変数から html を取得できるのではないかと考え始めました。そこで、ルーティング コードをいじり始めました。
exports.index = function(){
res.render('index', {title: 'MyTitle'});
};
そして、このルーティング全体がすでに私の心を吹き飛ばしているとだけ言っておきます. もう一度試してみましres.render
たが、うまくいきません。したがって、問題番号 2につながります。DOM オブジェクトを取得して操作できたとしても、どうすればそれらをクライアントにプッシュできるかわかりres.render
ません。言うまでもなく、再レンダリングする場合は別のページにリダイレクトする可能性があるため、目的が無効になることは言うまでもありません。
ユーザー接続を処理するために使用することを計画してsocket.io
いるので、おそらく鍵はそこにあります。多分私は a を設定できますsocket.on('button_click', function(){ ... });
が、DOM 操作と DOM の更新を処理するためにその関数内に何を配置するか、または'button_click'
クライアントがソケットにアクセスできないためにクライアント側でボタンを発行する方法がわかりません。イオ変数。
したがって、誰かがこれらのことを例を使用して私に説明するのを手伝ってくれたら、とても素晴らしいでしょう. 私は本当にこれらすべてを理解しようとしました.node.js、express.js、socket.io、jsdom、およびnode-jqueryのAPIドキュメントを調査して読むのに数日を費やしました。私が見つけたすべての例は、それ自体の領域にとって非常に基本的なものであり、実際にそれらを結び付ける例はないようです.