我遇到了iOS的问题,特别是iPhone,我的jQuery Mobile网络应用程序在jQuery Mobile的orientationchange事件之前触发了窗口调整大小事件。我在测试中没有看到这种情况发生在这一点上(意思是,它可能会在以后出现)。有没有办法可以保证resize事件在orientationchange事件之后触发,也许是利用window.orientation?
谢谢。
答案 0 :(得分:1)
好消息和坏消息。坏消息是,不,你不能保证。这个错误从一开始就存在,但仍未完全解决。我不希望它们很快就会出现,我也不希望其他平台竞争对手能够正确地实施它们,因为它们急于以较低的开销进入市场。
好消息是,你可能甚至不需要javascript事件。很有可能你可以完成CSS媒体查询的所有工作,并且可以更可靠地完成它。
/* Regular mobile styles */
.logo-large{
background-image:url(../images/logo.png);
background-repeat:no-repeat;
background-position:0 0;
position:relative;
top:0;
left:0;
width:290px;
height:65px;
margin:0 auto;
border:none;
}
/* Horizontal */
@media all and (min-width: 480px){
/* put your horizontal stylings here */
}
/* HD / Retina */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-resolution: 240dpi) {
.logo-large{
background-image:url(../images/logoHD.png);background-size:290px 65px;
}
}
/* iPad */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
}
答案 1 :(得分:0)
您可以设置超时以等待orientationchange事件
IT WORKS
$(window).bind('resize', function() { setTimeout( function() { messageToNativeApp('screen_resized'); }, 500); });