检测页面是否从应用程序打开

Detect if page was opened from app

这适用于 Android 和 iOS。我的网页有时可能会被某个应用程序打开(您转到该应用程序,然后单击那里的 link 以打开该页面)。 我想知道该页面是否是通过应用程序访问的,或者用户是否通过在浏览器上输入地址访问了该页面。 如果通过应用程序访问,我不需要知道它是哪个应用程序。

我唯一知道的是document.referrer,但似乎return“”当页面被应用程序打开时。不幸的是,使用“”作为指示符是不可能的,因为访问该页面的其他方式也可能显示“”(例如键入地址)。 history 对象似乎也不包含我正在寻找的信息。 我使用的是 Zendesk 帮助中心,因此我只能访问页面的 javascript 才能检测到这一点。我无法在页面的服务器端进行更改。

或者,我可以与应用程序的负责人交谈,以便他们在应用程序打开浏览器时包含一些内容,这样我就可以在浏览器上访问该信息,但我不确定是什么那可能是。有什么想法吗?

谢谢!

在我看来,您最好的选择是为您的网站设置特定的 link,让您知道 link 来自该应用程序。

像这样:http://www.yoursite.com/?openedFromApp

您将在应用内使用那些 link 将用户引导至您的网站。

这样,如果您使用 PHP 作为您的服务器端语言,您将能够检查 openedFromApp URL 参数是否设置如下:

<?php
if(isset($_GET['openedFromApp'])) {
    echo "The website was opened by an app";
}
else { echo "The website was opened normally"; }
?>

如果您想检查 openedFromApp URL 参数是否使用 Javascript 设置,您必须创建自己的函数来访问 URL 参数作为 Javascript 没有访问它们的内置方法。

但是这个 link 可以帮助您使用 Javascript 访问 URL 参数: