用手机控制的网站?

时间:2015-12-16 10:39:17

标签: javascript html

我不是一个编码问题,如果这是在错误的论坛,请道歉,但https://lightsaber.withgoogle.com/等网站如何运作?该网站如何通过手机了解用户在页面上的位置?我最近看过其中的一些,我也不知道它们是如何构建的......

2 个答案:

答案 0 :(得分:5)

这不是编码问题,你指的是正确的。

但这正是我们可以称之为实时网络,具有NodeJS,Socket.io等技术。我玩这个很有趣,但我不知道了解提供相同功能的任何其他技术(有一些,我只是不知道)。

它是如何运作的?

  • 让我们考虑一个包含2个视图的网页:桌面版和移动版(无论移动版本"呈现的方式如何)
  • 您可以将手机连接到它(在同一个网址上,或几乎相同,使用一些参数,以将手机识别为当前用户的手机)。在光剑游戏中,请注意它会生成一个自定义URL,以识别桌面上的用户和移动用户作为同一用户。
  • 当您使用带有该URL的移动设备访问该页面时,Web API允许您使用某些功能,例如设备方向(例如,该页面可以查看移动设备的位置),
  • 然后,移动设备会将这些事件(移动方向)发送到桌面视图,以更新其渲染方式(左边更多的光剑或其他)。

更进一步:

  • 移动视图会发出包含当前移动设备x,y,z的事件(此坐标相对于事件开始。例如,在页面加载时,x = 0,y = 0,z = 0,无论设备位置如何)每次设备位置发生变化,由服务器捕获。
  • 服务器正在侦听这些事件,每次获取一个事件时,会发出另一个事件(有一些转换,为什么不呢?),这次是桌面视图捕获的,它使用新值来应用更改。

所以基本上,谷歌光剑的表现可以这样看:

移动(发送位置x,y,z) - >服务器(获取移动位置并广播它) - >桌面(从服务器获取移动位置并在视图上应用更改)

我谈到了Node和Socket.io,因为它使这种体验变得非常简单。 我的意思是:真的

答案 1 :(得分:1)

这与页面提供的链接有关。用手机导航到生成的链接的第一个人是网站将要访问的链接#34;用。

当您访问手机生成的链接时,该(移动)页面会向生成链接的原始页面(通过某些方式,例如websockets或数据库摆弄)发送信号,有人已导航到生成的链接与他们的手机联系。在那之后,这只是下一步该做什么的问题。

简化为:

  1. 让某个网页A生成指向网页B
  2. 的链接
  3. 让页面A等到生成的页面B表示某人已导航到该页面
  4. 让页面A(和B)做点什么