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