动态页面刷新JavaScript/PHP或';Pusher.com';

动态页面刷新JavaScript/PHP或';Pusher.com';,javascript,php,jquery,web,pusher,Javascript,Php,Jquery,Web,Pusher,我正在寻找一个解决方案,能够动态地强制刷新我的网页上的所有我当前的观众。这将是最容易的,如果这是通过php完成的,但我愿意接受建议 我做了一些研究,并找到了一个可能的解决方案(pusher.com),但我不确定如何执行。下面是我的代码: 我的网页上的JavaScript已添加到document.readyjQuery': var pusher = new Pusher('xxx'); var refreshChannel = pusher.subscribe('refreshing'); ref

我正在寻找一个解决方案,能够动态地强制刷新我的网页上的所有我当前的观众。这将是最容易的,如果这是通过php完成的,但我愿意接受建议

我做了一些研究,并找到了一个可能的解决方案(pusher.com),但我不确定如何执行。下面是我的代码:

我的网页上的JavaScript已添加到
document.ready
jQuery':

var pusher = new Pusher('xxx');
var refreshChannel = pusher.subscribe('refreshing');
refreshChannel.bind('refresh-event', function() {
location.reload(true);
});
以下是他们官方文档中的php代码:

<?php
 require('Pusher.php');
 $options = array(
 'cluster' => 'eu',
 'encrypted' => true
 );
 $pusher = new Pusher(
'xxx',
'xxx',
'xxx',
 $options);

 $data['message'] = 'hello world';
 $pusher->trigger('refresh-event', 'refresh', $data);

?>

我知道如何发送如上所示的消息,但不知道如何启用刷新代码。以前是否有人使用过此sdk,并且知道如何使用

或者

有人知道如何完成这项任务的库或解决方案吗?同样,我要做的就是在需要的时候动态地刷新我的网页给我当前的所有浏览者。

你的客户端(包含JavaScript代码的页面)与pusher.com建立WebSocket连接。您必须通过php脚本触发(=发布数据)到pusher api服务器,pusher将把您的数据(事件名称+参数)转发到所有客户端(连接的套接字)

例如,如果您在index.php中有php代码,并通过http访问它,它将向pusher发送数据,pusher将通知您的客户

除了pusher.com,您还可以创建自己的php WebSocket服务器

Libs:

索克托,我和
socket.io

只要在通道
'refreshing'
上收到
'refreshing'
上的
'refresh'
事件,就会运行回调函数,该函数是
refreshChannel.bind(…)
的第二个参数。PHP中的
$data
也会传递给该函数,以便您可以随事件发送信息

执行此操作的代码几乎准确无误,但看起来您忘记了在javascript中设置集群,因此无法成功连接。如果您的应用程序位于
'eu'
群集上,则在尝试连接时需要这样说:

var pusher = new Pusher('xxx', {
  cluster: 'eu',
  encrypted: true
});
您应该已经收到
“无法通过xxx键找到应用程序。可能您连接到了错误的群集。”
当您尝试加载页面时,javascript控制台中出现错误

编辑:更仔细地检查你的频道名称和事件在你的触发调用中是错误的。它是

 $pusher->trigger('channel-name', 'event', $data);

编辑2:在javascript中,您调用的是频道
“刷新”
,在php中,您调用的是频道
“刷新”
。这些必须是相同的。

谢谢您的回复。我对他们的系统不熟悉,不知道你所说的Websocket连接是什么意思。我看不到任何标签。当我点击我的应用程序时,它会显示概览|入门|应用程序键|统计|调试|错误| Webhook |推送通知|协作|应用程序设置。有关于如何创建这个的教程吗?WebSocket是pusher.com背后的技术。WebSocket只是一种协议,通过单个TCP连接提供全双工通信通道。打开放置javascript代码的页面,然后在另一个选项卡上打开包含推送代码的php页面,这将触发刷新。如果您的客户机页面是php,那么php推送程序代码不应该在同一页面上,否则它将生成一个无限循环。PHP API>推送器>PHP客户端,或PHP客户端>PHP API>推送器>PHP客户端