1

我正在构建一个混合 Facebook 应用程序:桌面用户将被定向到Page Tab,而移动用户将被定向到Mobile Web App

我需要找到一种快速、准确的方法来检测用户的设备并执行适当的重定向——最好不要太复杂。可以做到吗?

4

1 回答 1

1

…是的!绝对可以做到。

Facebook 自动将尝试访问 Canvas 应用 ( apps.facebook.com/your_app) 的移动用户重定向到其等效的移动 Web 应用。

因此,只需设置一个服务器端重定向到apps.facebook.com/your_app,并设置一个从 Canvas 应用程序到页面选项卡的客户端重定向。

Facebook 会将移动用户重定向到您的移动网络应用程序;桌面用户将登陆您的 Canvas 应用程序,该应用程序将立即将他们重定向到您的页面选项卡。

在 PHP 中,服务器端重定向如下所示:

<?php
header('Location: http://apps.facebook.com/your_app', TRUE, 302);
exit;

客户端重定向在 JavaScript 中如下所示:

<script type="text/javascript">window.top.location.href = "http://yoururl.com/desktop/";</script>

这是一个可靠的解决方案,比尝试匹配用户代理要好得多。您的用户代理列表可能与 Facebook 的不同;事实上,Facebook 与它执行移动重定向的方式非常不一致。

于 2013-04-02T04:13:10.777 回答