Phonegap – 可靠的页面宽度检测?
任何人都可以推荐一种在Phonegap内置的HTML5 Android App上检测屏幕宽度的好方法吗?
我们的页面相当流畅 – 但我需要为较小的屏幕切换徽标/页脚图形 – 所以我为较小的版本注入样式表 – 似乎一般工作正常,一些手机(HTC Wildfire)似乎认为它们是320px宽度当他们只有240所以我在挣扎!
这是我目前的检测代码 – 任何建议都会非常有用!
干杯保罗
$(document).ready(function() { var pageWidth = $(window).width(); var sizeSelected = "chilliAppBeta"; alert(pageWidth);adjustCSS(); function adjustCSS(){ if (pageWidth >= 0) { if(pageWidth = 300) { sizeSelected = "chilliAppBeta" } } function applyChilliCSS() { var chilliStyleSheet =$(''); $('head').append(chilliStyleSheet); } });
您不需要JavaScript根据屏幕尺寸添加其他规则,您可以使用CSS3 Media Queries,例如:
.smallScreenContent{ display: none; } @media (max-width:400px){ //the following rules will only be used for screens up to 400px width .smallScreenContent{ display: block; } }
请参阅此链接以获取规范和此小提琴(调整结果大小)以进行工作演示 。
我发现正确检测窗口大小的唯一方法是在canvas适合屏幕之前放置几秒钟的超时。 在发布时,它显示在左上角,并且仅在一段时间后展开以适应屏幕。
使用
$(window).width() // For width $(window).height() // For Height
或者,您可以检查data-role="page"
元素device-width
以查找device-width
(因为它设置为device-width
100%
):
var deviceWidth = 0; $(window).bind('resize', function () { deviceWidth = $('[data-role="page"]').first().width()); }).trigger('resize');