首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在电视上用特征检测代替用户代理嗅探

在电视上用特征检测代替用户代理嗅探
EN

Stack Overflow用户
提问于 2013-04-09 12:19:03
回答 2查看 1K关注 0票数 1

我的团队正在考虑开发电视,并考虑设计一个量身定做的“10英尺用户界面”,在电视机上以不同的方式呈现我们的内容。

我认为在这一点上发生这种情况的唯一方法是嗅探用户代理,以检测用户来自何处。我发现有一些用户代理可以用于电视,例如:

AppleTV:

User-Agent: iTunes-AppleTV/4.1

谷歌电视:

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

但是,除非我们必须使用,否则我们不想使用用户代理。

在经常提到的这篇文章中,使用用户代理进行浏览器检测坚决反对使用用户代理嗅探来提供特殊的内容,建议人们更多地使用特征检测。

在电视浏览器/系统上是否有单一的、稳定的、受良好支持的功能,很容易被检测到?如果是的话,它会是什么?

EN

回答 2

Stack Overflow用户

发布于 2013-04-09 15:00:01

由于目前还没有识别浏览器的标准,所以经常使用用户代理。如果要避免这样做,可以尝试使用导航器对象,如下所示:

代码语言:javascript
运行
复制
var browser = navigator.appName;
var version = navigator.appVersion;
票数 0
EN

Stack Overflow用户

发布于 2013-04-09 19:49:50

推荐的方法是使用用户代理。这篇文章的第一个答案提出了一种很好的辅助方式。

不使用用户代理字符串检测Google

那里提供的小提琴在我测试过的Vizio盒子上运行得很好。

变量isGoogleTv = true;var allResults = '';函数tryTest(name,testResult) { var结果= (testResult?allResults += '‘+ name + '';isGoogleTv = isGoogleTv & testResult;}函数renderResults() { document.write('');document.write(allResults);document.write('');if (isGoogleTv) { document.write(’)

探测到谷歌电视!

}{ document.write(‘)

不是谷歌电视!

‘;} tryTest('is user-agent GoogleTV',Google(’is platform Win‘),navigator.userAgent.match(/(大屏幕)x GoogleTV/i);tryTest('is opera',Google(window.opera==undefined));tryTest(’非IE6+',Google(!(document.compatMode && document.all);tryTest('is platform Win',!navigator.platform.match(/Win/));tryTest('is platform‘,布尔(navigator.vendor.match(/Google/);tryTest(‘不是IE',false);renderResults();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15901697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档