[英]Detect iPad device orientation using javascript
我正在使用以下代碼檢查iPad的方向。 僅當我旋轉設備或更改iPad的方向時才調用此方法。 如果在橫向模式下啟動該應用程序,並且當我導航至此屏幕時,不會調用以下方法。 如何在不旋轉iPad的情況下檢測iPad的方向。
$(window).bind('orientationchange', function (event) {
if (event.orientation == "landscape") {
set frame for landscape
} else {
set frame for portrait
}
});
這將檢查iPad的存在,然后將高度與寬度進行比較。
var isiPad = navigator.userAgent.indexOf('iPad') != -1
//or
var ua = navigator.userAgent;
var isiPad = /iPad/i.test(ua)
if (isiPad) {
$(window).on('load orientationchange', function(event) {
if(window.innerHeight > window.innerWidth){
console.log("portrait");
} else {
console.log("landscape");
}
});
}
這也應該工作:
$(window).bind('orientationchange', function(event) {
alert('new orientation:' + event.orientation);
});
$(window).on('load orientationchange', function(event) {
if(event.orientation == "landscape")
{
set frame for landscape
}
else
{
set frame for portrait
}
});
也添加load
事件。 如果觸發window.load
時,相關屏幕在DOM中可用,這將有所幫助。 否則,在將屏幕動態注入到DOM后trigger
事件(如@Tushar所建議)。
請記住,
orientation change
或resize
事件將不會在最初加載頁面時觸發,如果要最初運行它們,則還必須包括load
事件。 或者,如果它依賴於DOM的動態部分,則稍后trigger
它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.