Окно просмотра, дающее разные размеры экрана для каждой ориентации

Я создаю приложение для телефонной связи, используя html5 и css. У меня есть Android-планшет iBall slide с разрешением экрана 800*480.

Но когда я открываю страницу и проверяю ее ширину с помощью java-скрипта, она показывает разные значения для всех ориентаций. Я использую это как мета-значение для области просмотра:

<meta name="viewport" content="height=device-height,width=device-width,initial-scale=1.0,maximum-scale=1.0" >

Кроме того, самая запутанная часть заключается в том, что когда приложение запускается в первый раз после установки, оно показывает другую ширину и высоту экрана для одной и той же ориентации, когда приложение запускается во второй или третий раз.

Вот мои значения:
1-й раз в ландшафтном режиме:
ширина:640
высота:359

Первый раз в портретном режиме:
ширина:384
высота:615

после первого раза в ландшафтном режиме:
ширина:800
высота:449

после первого раза в портретном режиме:
ширина:800
высота:1281

Как я должен настроить таргетинг на все эти размеры экрана?


person my_life_as_binary    schedule 13.03.2012    source источник
comment
Можете ли вы показать мне код, который вы используете для получения размера окна?   -  person albertopriore    schedule 13.03.2012
comment
я использовал простое предупреждение (screen.width); оповещение (экран.высота); функция проверки размеров   -  person my_life_as_binary    schedule 13.03.2012
comment
Использовали ли вы api.jquery.com/width и api.jquery.com/height ? Попробуйте поместить предупреждение после $(window).load(function() { alert($(window).height()); alert($(window).width()); });   -  person albertopriore    schedule 13.03.2012
comment
@albertopriore теперь дает одно и то же значение каждый раз для портрета: 800 * 1281 для пейзажа: 640 * 359   -  person my_life_as_binary    schedule 13.03.2012
comment
Так почему же он каждый раз показывал разные значения? И как мне ориентироваться на эти размеры, нет сходства в альбомном и портретном режиме?   -  person my_life_as_binary    schedule 13.03.2012


Ответы (1)


Вы использовали api.jquery.com/width и api.jquery.com/height?

Попробуй поставить оповещение вот так

$(window).load(function() { 
   alert($(window).height()); 
   alert($(window).width()); 
});

тогда попробуй поставить

$(window).resize(function() { 
   alert($(window).height()); 
   alert($(window).width()); 
});

а затем скажите мне, что произойдет, если вы повернете свое устройство.

person albertopriore    schedule 13.03.2012
comment
нет, я не использовал ширину jquery, и я попробовал ваш код изменения размера, и он дал 800 * 1281 для портретной ориентации и 449 * 800 для альбомной ориентации. - person my_life_as_binary; 13.03.2012
comment
да, на самом деле я жестко запрограммировал ширину вручную, так что теперь она работает ... но все еще нужно работать с разными размерами окна просмотра. Спасибо, в любом случае :) - person my_life_as_binary; 15.03.2012