【问题标题】:Display a view in the mobile app, from the website (knowing if user comes from application)在移动应用程序中显示来自网站的视图(了解用户是否来自应用程序)
【发布时间】:2016-01-10 19:50:10
【问题描述】:

让我们看看我是否可以同时解释这一点并有意义...... 我有一个网站和该网站的移动应用程序。在某些情况下,我会在应用程序中使用网站上的视图。我不会将用户重定向到网站,但网站视图将显示在应用程序中。但在这个观点中,我也会做出一些改变。 Lika 媒体查询但同时不是,因为用户使用的是移动设备而不是应用程序,因此网站将正常显示,但当然是响应式的。

更新(试图解释得更好) 如果您使用移动应用程序,则只会显示网站的特定部分。在这种情况下,它将是产品类别。除了产品类别之外,页眉、页脚和所有其他内容都将消失。如果您使用移动设备,例如 safari,则会显示页眉、页脚和所有这些内容。

所以这里的问题是如何使用 PHP 检查用户是否来自移动应用程序并随后显示某个视图?

【问题讨论】:

  • 这是什么类型的应用程序?移动应用?
  • 是的,我会在正文中更清楚地说明这一点!

标签: php mobile-application


【解决方案1】:

您可以让移动应用程序打开带有 GET 变量集的网站。例如,移动应用会打开 www.myWebsite.com?source=mobile。

这样当 php 在页面上运行时,你可以有类似的东西:

if ((isset($_GET['source'])) && ($_GET['source'] == 'mobile'))
    {
    //This is a mobile view!
    }

这样做的缺点是任何人都可以键入 ?source=mobile 来欺骗浏览器,使其认为它来自应用程序。

【讨论】:

  • 问题是,如果您不使用移动应用程序但仍然使用移动设备,那么网站只会显示响应式设计
  • 因此,您希望此“视图”显示是否有人从一般移动设备访问您的页面。无论是来自您的应用程序还是通过移动网络浏览器。看看这个线程:stackoverflow.com/questions/14646918/…
  • 不,如果您使用移动设备上的移动应用程序,我希望显示此“视图”。如果您只是使用移动设备,例如 safari,“视图”将类似于计算机上的网站,但响应迅速。如果用户正在使用移动应用程序,他们甚至不应该注意到我将他们重定向到网站视图。我更新了我的问题,试图更好地解释它。
  • 好吧,现在我们只是在兜圈子……那时我的原始答案仍然成立。当您在应用程序中显示网站时,请确保您显示的 URL 中有一个 GET 变量。这样,您可以根据是否设置了该变量来自定义显示的内容。如果未设置,则让它显示具有响应式布局的常规网站。这样一来,当通过应用程序查看网站时,您将获得应用程序视图,但通过 iPhone 上的 Safari 浏览器查看时,您将获得具有响应式布局的普通网站。
  • 重读你的答案,我现在明白了!会试一试!谢谢。
【解决方案2】:

如果您使用第三方移动应用程序,您可以尝试通过 HTTP User-Agent 找出请求的来源。通常使用@media rules 解决关于通过 CSS 解决视图的问题。 希望我能解决你的问题。

【讨论】:

  • 对 HTTP 用户代理不熟悉,但听起来好像可以工作。关于如何使用它以及之后我是否以特定方式使用媒体规则的任何好的示例?
  • 我找到了一个不错的thread 有类似的问题
  • 但我需要知道用户是否来自移动应用程序而不是移动设备..
【解决方案3】:

您可以通过用户代理进行检查。使用 _SERVER['HTTP_USER_AGENT'];

否则您可以使用 3rd 方库,例如

http://mobiledetect.net 或者你可以使用引导库来做到这一点。

如果你想为移动和桌面做不同的设计,那么我更喜欢你使用引导库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-14
    • 2014-04-20
    • 1970-01-01
    • 2018-11-08
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多