0

想象一下,我有一个公共显示器,显示一个显示网页的浏览器。

是否可以将 GET 或 POST 从移动设备发送到 HTTP 服务器,触发一些 AJAX/pubsub/websocket JavaScript 函数来更改当前正在显示器上查看的页面,甚至只是更改 iframe 的当前域?

跨域推送状态?即使在您自己的设置中,这也可能吗?

4

2 回答 2

2

您可以在客户端使用 JavaScript 执行此操作。这个问题很好地涵盖了这一点:Updating address bar with new URL without hash or reloading the page

不幸的是,这是一个相对较新的功能,而且大多不受支持。您的替代方法是设置主题标签并将其用于导航。

更新:

如果您尝试像电视频道一样向用户“推送”页面,那么您可以让 AJAX 请求每隔几秒轮询一次服务器以查看是否有新页面。服务器将使用新 URL 进行响应。然后,您可以将该页面放入 iFrame 中。

于 2013-04-09T13:29:06.577 回答
2

假设您控制在公共显示器上显示的网页,是的。

网页需要通过 AJAX 定期联系服务器,或者与服务器建立长期连接(即CometWebSockets)。

当服务器收到来自移动设备的请求时,它要么使用 Comet 连接将新 URL 发送到网页,要么当网页下次通过 AJAX 联系它时,它发送新 URL 作为响应。

然后网页将其自己的window.location属性设置为这个新的 URL。

请注意,一旦完成此操作,您将无法再将有问题的浏览器发送到另一个新页面,除非您刚刚将其发送到的页面还包含与您的服务器联系的 JavaScript。

但是,如果您不控制正在显示的网页...

然后你需要一个浏览器扩展来启动浏览器和你的服务器之间的连接。

于 2013-04-09T13:30:09.830 回答