我想拥有一个主桌面网站,并能够重定向到移动和电视网站。我在网上找到了一些移动网站的代码,但我不确定如何为电视做这个。这是移动设备:
<script type="text/javascript">
if (screen.width <= 699) {
document.location = "index-mobile.html";
}
</script>
我对电视的看法是screen.width >= 1280
(标准宽屏宽度为720p),但即便是最小的电脑屏幕也会包含在内。有没有办法在不使用用户代理的情况下做得好,因为我想要包括所有游戏机,机顶盒,智能电视等,而且我无法获得每个用户代理。我想过做screen.height == 720 or screen.height == 1080
,但这会包括一些显示器并排除一些国际电视。
答案 0 :(得分:3)
以下是您可以用来实现目标的方法:
Modernizr是一个功能检测库。与设备检测相反,实现特征检测通常是更好的做法。
由于存在大量的可能性,我建议不要使用屏幕高度和宽度。如果您重新考虑基于功能进行区分的方法,您可以依靠像Modernizr这样的层来处理复杂性。
示例强>
以下是使用媒体查询的Modernizr的示例:
if(Modernizr.mq("only handheld") === true){
//Redirect to mobile site
}else if (Modernizr.mq("only tv") === true){
//Redirect to TV
}else{
//Anything else to the desktop
}
这是媒体查询参考。我不确定我使用的媒体查询的支持,但如果你看一下,你可能能够为你工作。
答案 1 :(得分:0)
最近我不得不处理与移动设备上的屏幕尺寸有关的类似问题。 51Degrees.mobi有一个开源Java解决方案,可以处理屏幕大小检测。该API非常易于实施,并且有一个指南here。我基本上调整了他们的指南中的代码来处理屏幕尺寸:
public static void main(String[] args) {
Provider p = null;
try {
p = Reader.create();
} catch (BinaryException e) {
e.printStackTrace();
}
BaseDeviceInfo b = p.getDeviceInfo("ENTER USERAGENT HERE");
String width = b.getFirstPropertyValue("ScreenPixelsWidth");
String height = b.getFirstPropertyValue("ScreenPixelsHeight");
}
这将获得您可以使用的x和y屏幕分辨率值。我相信他们的高级版可以检测电视/游戏机。希望这会有所帮助。