如何检测移动浏览器或应用是否打开了网页?

时间:2016-03-06 04:01:32

标签: javascript html web hybrid-mobile-app

如果有一个将被插入到应用程序中的网页,当我点击网页上的某个位置时,由于只能在应用程序中打开的特殊链接,它可以链接到应用程序中的另一个页面。但是,如果我想在移动浏览器中打开同一个网页,我必须更换特殊链接。因此,先决条件是我需要检测网页是在应用程序还是移动浏览器中打开。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

1)尝试从http连接标头中读取User Agent标头。它将显示连接到您网站的设备。 (因为标题可以更改而自豪被黑了) 这里有一个关于如何读取用户代理的php示例

<?php  echo $_SERVER['HTTP_USER_AGENT']; ?>

2)在您的应用和网页上添加一些逻辑,以便识别&#34;彼此。

一个简单的逻辑可能是在您的网页上添加一个必须具有特定值的参数,以便允许访问。您的应用必须使用参数上的预期值调用网址。

答案 1 :(得分:0)

您正在寻找的是用户代理,每个浏览器都有一个不同的用户代理(名称),通常会告诉您构建浏览器的设备类型。

有很多方法可以通过javascript检查用户代理,查看之前的StackOverflow问题+回答here

答案 2 :(得分:0)

您可以查看浏览器的useragent,这是一个字符串。 MDN

您可以通过Javascript访问它,然后根据结果执行条件。

所有浏览器都会返回略有不同的内容,因此您需要找到一些可以减少分支数量的常用内容。

if(window.navigator.userAgent.match(/Android/i) {
    //Android browser, do something
}

这里有一串字符串:UserAgent strings