前奏曲(和夜曲)
我正在制作一个响应式网站。主要要求之一是网页在任何分辨率下都不应有水平滚动,直到 800 像素宽。此外,不应该在任何级别的缩放中滚动,直到 200%。我们可以看到的“最大”页面是 800 像素,缩放为 200%。
我正在使用 Mediaqueries 来容纳内容。媒体查询还检测缩放变化,因此,在 800px 和 200% 缩放的情况下,它会应用max-width: 400px
规则。
为了使 Mediaqueries 在较旧的 IE 版本中工作(自 IE7 以来客户端需要),我使用的是Respond.js。它工作正常。
问题的新细节:
虽然 FF、CH 和其他不错的浏览器检测到缩放事件并正确应用媒体查询,但 IE(或 Respond.js)却没有。如果我在 IE 中放大 200%,则在我刷新页面之前,Mediaqueries 不适用。
在我的本地主机中,它工作正常(在缩放和调整大小事件中应用媒体查询。)
我已经调试了代码以打破这一行:
//adjust on resize
function callMedia(){
applyMedia( true ); /* <---- THAT--- */
}
if( win.addEventListener ){
win.addEventListener( "resize", callMedia, false );
}
else if( win.attachEvent ){
win.attachEvent( "onresize", callMedia );
}
在 localhost中,即使我缩放(ctrl +“+”或 ctrl + 鼠标滚轮或“页面”菜单),它也会在我尝试调整窗口大小时停止。
在 server,不会在缩放时停止,只会在调整大小时停止。
为什么它不起作用?我没有后端编程方面的技能,我认为js代码没有问题(?)......看起来它在后面(我无法正确解释),但可能是什么?
已经尝试过:
我们不能在缩放事件中强制自动刷新(客户端要求)。
我已经尝试过 css3-mediaqueries.js,但我无法让它工作,(而且它对我的网页来说太重了)。
我已经禁用了 Web Portal 中的所有其他 JS(认为可能有一些 JS 会打扰 Respond),但仍然没有结果。
任何帮助,将不胜感激。