检测浏览器是否为Samsung Phone

时间:2012-12-05 05:52:03

标签: javascript user-agent samsung-mobile

有没有人想出一个很好的方法来检测客户端的浏览器是否是三星手机。我特意寻找三星S3和Note 2,但如果它能够捕获S2和Note 1或其他三星手机,我可以忍受它。未来证明的东西(即可能与S4 / Note3一起使用显然是理想的)。

似乎没有直接的方式来实现这一点,就像iPhone一样,但是我们希望为这些设备定制大型S3和Note2用户群。

我知道并非所有S3都拥有相同的用户代理 (http://stackoverflow.com/questions/11282944/what-is-the-samsung-s3-user-agent)

如果有人将手机设置为PC版,那么我不希望发现这些 (http://stackoverflow.com/questions/11597940/android-phone-browser-detection)

我意识到这可能是一个没有好解决方案的问题。

2 个答案:

答案 0 :(得分:9)

检测三星手机或平板电脑默认浏览器

if(navigator.userAgent.match(/SAMSUNG|SGH-[I|N|T]|GT-[I|P|N]|SM-[N|P|T|Z|G]|SHV-E|SCH-[I|J|R|S]|SPH-L/i))  {
    alert("it's Samsung default browser");
    // your code for Samsung goes here
}

此正则表达式涵盖除Samsung Galaxy Nexus以外的几乎所有三星移动设备,请验证。

答案 1 :(得分:1)

显然很难仅检测到三星手机,但如果您检查here,并在问题here中查看用户代理问题,您会注意到用户代理取决于在电话型号上。

仅限于GS3,有很多型号,如GT-I9300 [T],SHV-E210K / L / S,SGH-T999 [v],SGH-I747 [m],SGH-N064 (SC-06D),SCH-R530,SCH-I535,SPH-L710,GT-I9305 [T],GT-I9308

我不是网络开发人员,我不确定如何检测用户代理的某些部分,但如果你能为每个GS3模型调整你的代码,我假设那样做工作得很好。与Note 2的型号相同,当它们出来时,GS4 / Note 3。