Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测页面是否已从应用打开_Javascript_Mobile_Browser History_Zendesk - Fatal编程技术网

Javascript 检测页面是否已从应用打开

Javascript 检测页面是否已从应用打开,javascript,mobile,browser-history,zendesk,Javascript,Mobile,Browser History,Zendesk,这适用于Android和iOS。我的网页有时可能会被某个应用程序打开(您可以转到该应用程序,然后单击该应用程序中打开页面的链接)。 我想知道该页面是通过应用程序访问的,还是用户通过在浏览器上键入地址访问的。 如果通过应用程序访问,我不需要知道它是哪个应用程序 我只知道document.referer,但当应用程序打开页面时,它似乎返回“”。不幸的是,使用“”作为指示符是不可能的,因为进入页面的其他方式也可能显示“”(例如键入地址)。history对象似乎也不包含我要查找的信息。 我使用的是Zen

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

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

或者,我可以与负责该应用程序的人员交谈,以便他们在该应用程序打开浏览器时提供一些信息,允许我在浏览器上访问这些信息,但我不确定这可能是什么。有什么想法吗


谢谢大家!

在我看来,你最好的选择是为你的网站提供特定的链接,让你知道链接来自应用程序

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

你将在应用程序中使用这些链接,这些链接将引导用户访问你的网站

这样,如果使用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没有访问这些参数的内置方式


但是这个链接可以帮助你使用Javascript访问URL参数:

在我看来,你最好的选择是为你的网站提供特定的链接,让你知道链接来自应用程序

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

你将在应用程序中使用这些链接,这些链接将引导用户访问你的网站

这样,如果使用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没有访问这些参数的内置方式


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

这实际上是一个很好的主意,可以帮助很多有同样问题的人!不幸的是,在我的例子中,我没有访问我站点的服务器端的权限,只能访问js/html/css(我现在将这个添加到问题中)。我可以键入mysite.com/?test,但浏览器会将其作为mysite.com打开,因为我无法创建该路由。我想知道,即使浏览器将页面转换为常规url,是否有办法检测到该页面是通过查询字符串url请求的。但是,您是否有权访问将用户发送到您网站的应用程序?因为如果您有权访问该应用程序,即使只是访问客户端,您也可以使用我上面建议的解决方案。我认为是这样的会有用的!我只需要做
mysite.com?测试
而不是
mysite.com/?测试
。这实际上是一个很好的主意,可以帮助很多有同样问题的人!不幸的是,在我的例子中,我没有访问我站点的服务器端的权限,只能访问js/html/css(我现在将这个添加到问题中)。我可以键入mysite.com/?test,但浏览器会将其作为mysite.com打开,因为我无法创建该路由。我想知道,即使浏览器将页面转换为常规url,是否有办法检测到该页面是通过查询字符串url请求的。但是,您是否有权访问将用户发送到您网站的应用程序?因为如果您有权访问该应用程序,即使只是访问客户端,您也可以使用我上面建议的解决方案。我认为是这样的会有用的!我只需要做
mysite.com?测试
,而不是
mysite.com/?测试