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