想象一下,我有一个公共显示器,显示一个显示网页的浏览器。
是否可以将 GET 或 POST 从移动设备发送到 HTTP 服务器,触发一些 AJAX/pubsub/websocket JavaScript 函数来更改当前正在显示器上查看的页面,甚至只是更改 iframe 的当前域?
跨域推送状态?即使在您自己的设置中,这也可能吗?
想象一下,我有一个公共显示器,显示一个显示网页的浏览器。
是否可以将 GET 或 POST 从移动设备发送到 HTTP 服务器,触发一些 AJAX/pubsub/websocket JavaScript 函数来更改当前正在显示器上查看的页面,甚至只是更改 iframe 的当前域?
跨域推送状态?即使在您自己的设置中,这也可能吗?
您可以在客户端使用 JavaScript 执行此操作。这个问题很好地涵盖了这一点:Updating address bar with new URL without hash or reloading the page
不幸的是,这是一个相对较新的功能,而且大多不受支持。您的替代方法是设置主题标签并将其用于导航。
更新:
如果您尝试像电视频道一样向用户“推送”页面,那么您可以让 AJAX 请求每隔几秒轮询一次服务器以查看是否有新页面。服务器将使用新 URL 进行响应。然后,您可以将该页面放入 iFrame 中。
假设您控制在公共显示器上显示的网页,是的。
网页需要通过 AJAX 定期联系服务器,或者与服务器建立长期连接(即Comet或WebSockets)。
当服务器收到来自移动设备的请求时,它要么使用 Comet 连接将新 URL 发送到网页,要么当网页下次通过 AJAX 联系它时,它发送新 URL 作为响应。
然后网页将其自己的window.location
属性设置为这个新的 URL。
请注意,一旦完成此操作,您将无法再将有问题的浏览器发送到另一个新页面,除非您刚刚将其发送到的页面还包含与您的服务器联系的 JavaScript。
然后你需要一个浏览器扩展来启动浏览器和你的服务器之间的连接。