我的团队正在考虑开发电视,并考虑设计一个量身定制的“10英尺UI”,以不同的方式在电视机上展示我们的内容。
此时我发现它的唯一方法是通过嗅探用户代理来检测用户来自哪里。我看到有些用户代理可用于电视,例如:
AppleTV的:
User-Agent: iTunes-AppleTV/4.1
Google TV:
Mozilla/5.0 (Linux; GoogleTV x.x.x; LG Google TV Build/000000) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Safari/534.24
但是,我们不想使用用户代理,除非我们必须。
关于Mozilla开发者网络常常提到的文章,Browser detection using the user agent他们坚决不鼓励使用用户代理嗅探来提供特殊内容,建议人们更倾向于使用特征检测。
在电视浏览器/系统上是否有一个易于检测的单一,稳定且受到良好支持的功能?如果是,它会是什么?
答案 0 :(得分:0)
由于识别浏览器尚无标准,因此使用了很多用户代理。如果你想避免这样做,你可以尝试使用这样的导航器对象:
var browser = navigator.appName;
var version = navigator.appVersion;
答案 1 :(得分:0)
推荐的方法是使用用户代理。这篇SO帖子的第一个答案提出了一个很好的辅助方式。
Detect Google TV without using user agent string
在我测试的Vizio盒子上提供的小提琴效果很好。
var isGoogleTv = true; var allResults =''; function tryTest(name,testResult){ var result =(testResult?'succeeded':'failed'); allResults + =''+ name +''; isGoogleTv = isGoogleTv&&测试结果; } function renderResults(){ 文件撰写( '