Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用jQuery控制一个页面与另一个页面_Php_Jquery - Fatal编程技术网

Php 使用jQuery控制一个页面与另一个页面

Php 使用jQuery控制一个页面与另一个页面,php,jquery,Php,Jquery,使用两个单独的浏览器或计算机,或者为了实验起见,使用两个选项卡,有没有办法将命令从一个页面推送到另一个具有某种侦听器对象的页面 例如: controller.html有一个链接,单击会触发viewer.html上的操作 这可能吗 除非一个打开了另一个,并且它们在同一个域上,否则这是不可能的。如果其中一个打开了另一个,您可以通过window.opener与家长进行通信,并在执行window.open()时通过存储引用与孩子进行通信,除非其中一个打开了另一个,并且他们在同一个域中,否则这是不可能的。

使用两个单独的浏览器或计算机,或者为了实验起见,使用两个选项卡,有没有办法将命令从一个页面推送到另一个具有某种侦听器对象的页面

例如:

controller.html有一个链接,单击会触发viewer.html上的操作


这可能吗

除非一个打开了另一个,并且它们在同一个域上,否则这是不可能的。如果其中一个打开了另一个,您可以通过
window.opener
与家长进行通信,并在执行
window.open()

时通过存储引用与孩子进行通信,除非其中一个打开了另一个,并且他们在同一个域中,否则这是不可能的。如果其中一个打开了另一个,您可以通过
window.opener
与家长进行通信,并通过在执行
window.open()时存储引用与孩子进行通信,您可以通过服务器实现某种消息传递。浏览器/计算机A向服务器发送消息。服务器无法向浏览器/计算机B发送消息,但浏览器可以轮询服务器以获取新消息。

您可以通过服务器实现某种消息传递。浏览器/计算机A向服务器发送消息。服务器无法向浏览器/计算机B发送消息,但浏览器可以轮询服务器以获取新消息。

您的第一个限制是两端之间需要一台服务器-sender.html将向服务器发送AJAX请求,receiver.html将从服务器获取消息。 第二个问题是HTTP协议并不用于服务器推送,因此服务器无法向接收方发送消息,除非接收方发起请求

这两种方法是轮询和长请求

轮询意味着接收方不断地向服务器发送AJAX请求,询问是否有任何新消息。服务器返回任何新消息,或告诉接收者没有消息准备就绪。这很容易实现,而且非常健壮,但它会产生很大的开销,因为接收器不断地触发请求,其中大多数请求都是冗余的,因为答案是“没有可用的消息”

使用长请求方法,接收方向服务器发送请求,但服务器直到新消息到达才响应。好处是,每个新消息只需要一个请求,但由于请求可能会长时间保持打开状态,因此需要管理大量并发连接,这会给web服务器带来更大的压力

另一种选择是使用某种插件或小程序,可以在当前浏览器上下文之外建立连接。这样的插件可以使用它想要的任何协议,消除了HTTP在这方面的限制,但还有其他限制


就个人而言,我会选择轮询,除非即时响应至关重要。

您的第一个限制是两端之间需要一台服务器-sender.html将向服务器发送AJAX请求,receiver.html将从服务器获取消息。 第二个问题是HTTP协议并不用于服务器推送,因此服务器无法向接收方发送消息,除非接收方发起请求

这两种方法是轮询和长请求

轮询意味着接收方不断地向服务器发送AJAX请求,询问是否有任何新消息。服务器返回任何新消息,或告诉接收者没有消息准备就绪。这很容易实现,而且非常健壮,但它会产生很大的开销,因为接收器不断地触发请求,其中大多数请求都是冗余的,因为答案是“没有可用的消息”

使用长请求方法,接收方向服务器发送请求,但服务器直到新消息到达才响应。好处是,每个新消息只需要一个请求,但由于请求可能会长时间保持打开状态,因此需要管理大量并发连接,这会给web服务器带来更大的压力

另一种选择是使用某种插件或小程序,可以在当前浏览器上下文之外建立连接。这样的插件可以使用它想要的任何协议,消除了HTTP在这方面的限制,但还有其他限制


就我个人而言,我会选择轮询,除非即时响应至关重要。

在这种情况下,实时推送API会帮你吗?在大多数情况下,会创建一个通道,当通道内发生事件时,会将事件推送到通道内的任何客户端


因为我是新来的,所以每篇文章我只能分享一个链接。所以我写了一些我在pastebin知道的实时推送API:

在这种情况下,实时推送API能帮你吗?在大多数情况下,会创建一个通道,当通道内发生事件时,会将事件推送到通道内的任何客户端


因为我是新来的,所以每篇文章我只能分享一个链接。所以我写了一些我在pastebin知道的实时推送API:

很有趣。我想另一种方法是创建某种jQuery侦听器脚本,每隔几秒钟检查一次php脚本的更改?@Ryan-如果你的意思是轮询服务器进行更改,是的,它可以工作,或者检查comet:@Ryan另一种方法是使用Web套接字,但它在浏览器中还不是特别广泛分布(甚至不确定是否可以用PHP轻松完成)有趣。我想另一种方法是创建某种jQuery侦听器脚本,每隔几秒钟检查一次php脚本的某种更改?@Ryan-如果你是说轮询服务器进行更改,是的,这是有效的,或者检查comet:@Ryan另一种方法是使用Web套接字,但它在网络中并不广泛分布浏览器(甚至不确定是否可以在PH中轻松完成)