寻找一种通过Node.js在HTML中运行Javascript函数的方法

时间:2019-06-23 18:19:07

标签: javascript html node.js

我一直在寻找一个简单的Discord命令,以请求在流中大喊大叫。我已经在HTML文件中设置了警报本身,但是我真的不知道从哪里开始让Node.js将警报发送到页面。

提供的代码是我当前用于显示警报的代码。

这是在OBS中显示一个警报框。

var audio = new Audio('discord.mp3');
  function shoutOut(name){
    audio.play();
    document.getElementById("shoutout").innerHTML = `${name} bought a shout-out!`;
    console.log("it worked");
    $("#container").fadeIn(1000);
    setTimeout(() => {
      $("#container").fadeOut(1000);
    }, 5000);
  }

我只是希望它在使用Discord命令时显示警报。

1 个答案:

答案 0 :(得分:1)

如果我的理解正确,那么您希望您的节点服务器将更新推送到您的网页上以激发您的功能。为此,您首先需要在网页和节点服务器之间设置websocket通信。您不会使用HTTP,因为它是单向的,您只能发出发送回响应的请求。 (如果您希望使用HTTP,则可能需要轮询-检查是否有x的秒数更新,不建议这样做)。 Websocket是双向的,这意味着网页可以请求信息,但与此同时,服务器可以在不发出网页请求的情况下推送信息,因为Websocket保持网页和服务器之间的开放通信线路。

一旦设置了websocket连接,就可以在客户端上添加侦听器,并且在收到通知时可以设置处理程序以触发功能。

我将通读此书以获得更好的理解: https://www.compose.com/articles/redis-pubsub-node-and-socket-io/