该网站应该有一个流体的布局,调整该装置的宽度,在纵向和横向取向。 这里是我的中继检视区标记:
<meta name="viewport" id="viewportid" content="width=device-width, minimum-scale=1.0, maximum-scale=10.0, user-scalable=yes">
问题是,当用户放大,内容流调整到视觉视口。 我想,以确保内容保持不变。 也就是说,布局视口是由视觉视口不受影响。
我怎样才能防止变焦时流的内容?
非常感谢您的任何帮助。 这已经加重的地狱。
这里是缩小的页面的例子(标度= 1)(的Android 2.1模拟器SDK)
这里是同一页的一个例子,在放大(Android 2.1的模拟器SDK)
我试着摆弄周围有photoswipe和iScroll4,但我希望用户捏变焦和iScroll4似乎并没有与Android版本<= 1.6的工作,根据测试我的Android模拟器SDK一样。 我想我可以尝试一些更适合我的需要。
所以,据我所知,我可能是非常错误的,有没有办法来跟踪缩放级别,每元视口代码,在Android设备上。 jQuery Mobile的不具备这样的功能; 也许煎茶,PhoneGap的,或者一些Android的Java库方便这一点,我会更乐意被纠正!
那么现在,这不是最好的方法,但我想通了,似乎在1或2个像素是准确的,在最坏的一种方式。 我不知道,Android是否天生就改变的方向改变事件它的缩放级别,但我给我的方法了一枪,它的工作。
下面的代码:
$(document).ready(function(){
var ViewportWidth = document.documentElement.clientWidth;
var LayoutWidth = document.documentElement.clientWidth;
$("#Index").css("width", LayoutWidth);
var SetLayoutWidth = function() {
LayoutWidth = Math.round((1/(ViewportWidth/LayoutWidth)) * document.documentElement.clientWidth);
$("#Index").css("width", LayoutWidth);
}
$(window).resize(function() {
ViewportWidth = document.documentElement.clientWidth;
});
$(window).bind("orientationchange", function(event) {
if (navigator.userAgent.match(/android/i))
if (Math.abs(window.orientation) == 90 && event.orientation == "landscape")
SetLayoutWidth();
else if (!window.orientation && event.orientation == "portrait")
SetLayoutWidth();
});
});
当用户放大,视觉视口宽度的变化,它的值被存储。 视觉视口布局视宽度的比率是,比方说,0.8%,用户放大后。 现在,当用户改变设备的方向,比例由1分为了实现布局视口宽度应全屏什么,在这个例子中,我需要视觉视口宽度的125%。
有一个问题我知道,可能攀升是调整大小事件可能的方向改变事件之前进行发射。 我还没有看到这种情况发生在测试中,但我需要确定如何处理,如果当它发生。
谢谢。
文章来源: How do I maintain fixed-width for layout viewport in android, iphone, with user-scalable=yes; using jQuery Mobile