如何在浏览器/设备上保持javascript变量一致?

时间:2017-08-19 17:29:25

标签: javascript

我正在使用等待线管理网络应用程序,其中数组代表每个等待线。在每次添加或删除数组元素后,将显示生成的数组长度,并且在访问Web应用程序的每个设备/浏览器上应该相同。我想知道是否有办法实现这一目标。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您没有尝试实施疯狂的点对点系统,那么您将需要一台服务器。

服务器将保持阵列的状态,浏览器将更新到服务器阵列,因此整个系统不会失去同步。

您可以通过让每个浏览器定期向服务器发出“队列”请求来轮询服务器;这很容易实现,但效率不高,因为您可能会提出不必要的请求。

您还可以使用Web套接字等实现发布/订阅系统。在这种情况下,服务器将仅在必要时将消息推送给每个连接的用户。

答案 1 :(得分:0)

让您的服务器向所有连接的客户端广播新的阵列长度。这需要推送通知解决方案。例如,使用PushRadar,您可以从服务器执行以下操作:

$radar->broadcast("array-length-channel", ["length" => $array_length]);

然后是客户端:

radar.subscribe("array-length-channel", function(data) {
    alert(data.length); // data.length holds the array length
});

如果在客户端添加或删除数组元素,请使用Ajax将新长度发送到服务器,然后进行广播。

希望这有帮助!

免责声明:我是PushRadar的创始人。

相关问题