Jonathan Snook已解決此問題。在他的幻燈片here中,他演示瞭如何(有點)鎖定肖像(請參見幻燈片54和55)。
從這些幻燈片的JS代碼:
window.addEventListener('orientationchange', function() {
if (window.orientation == -90) {
document.getElementById('orient').className = 'orientright';
}
if (window.orientation == 90) {
document.getElementById('orient').className = 'orientleft';
}
if (window.orientation == 0) {
document.getElementById('orient').className = '';
}
}, true);
和CSS:
.orientleft #shell {
-webkit-transform: rotate(-90deg);
-webkit-transform-origin:160px 160px;
}
.orientright #shell {
-webkit-transform: rotate(90deg);
-webkit-transform-origin:230px 230px;
}
我試圖讓本作景觀在iPhone上工作,但是它永遠不會看着100 %正確。然而,我接近了下面的jQuery代碼。這將在onready函數中。還要注意:這是在「保存到主屏幕」的上下文中,我認爲這改變了轉換起源的位置。
$(window).bind('orientationchange', function(e, onready){
if(onready){
$(document.body).addClass('portrait-onready');
}
if (Math.abs(window.orientation) != 90){
$(document.body).addClass('portrait');
}
else {
$(document.body).removeClass('portrait').removeClass('portrait-onready');
}
});
$(window).trigger('orientationchange', true); // fire the orientation change event at the start, to make sure
而CSS:
.portrait {
-webkit-transform: rotate(90deg);
-webkit-transform-origin: 200px 190px;
}
.portrait-onready {
-webkit-transform: rotate(90deg);
-webkit-transform-origin: 165px 150px;
}
希望幫助別人親近期望的結果...
相關:http://stackoverflow.com/questions/1207008/how-do-i-lock-the-orientation-to-portrait-mode-in-a-iphone-web-application – xdhmoore 2013-09-04 20:13:14
閱讀由@xdhmoore鏈接的問題。除此之外,這是非常值得的。 – Boaz 2014-09-09 08:23:45