缩放事件中的Mediaqueries行为

时间:2013-05-31 07:46:16

标签: javascript internet-explorer zoom media-queries

Prelude(和nocturnes)

我正在制作一个快速响应的网站。其中一个主要要求是网页在任何分辨率下都不应有水平滚动,直到800px宽。此外,不应该在任何级别的缩放中滚动,直到200%。我们可以看到“最大”的页面是800px,200%缩放。

我正在使用Mediaqueries来容纳内容。 Mediaqueries还会检测缩放更改,因此,在800px和200%缩放的情况下,它会应用max-width: 400px规则。

要使Mediaqueries在较旧的IE版本中运行(客户端希望自IE7起)我正在使用Respond.js。它工作正常。

问题的新细节:

虽然FF,CH和其他不错的浏览器检测缩放事件并正确应用Mediaqueries,但IE(或Respond.js)却没有。如果我在IE中缩放200%,则在刷新页面之前,Mediaqueries不会应用。

在我的localhost中,它工作正常(在缩放和调整大小事件中应用媒体查询。)

我已经破解了代码以打破这一行:

//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 + mousewheel或“Page”菜单),它也会停止。

在服务器,仅在调整大小时不会停止缩放。


为什么它不起作用?我没有后端编程的技巧,我认为js代码没有问题(?)......它似乎是后面的东西(我无法正确解释),但是可能是什么?

已经尝试过:

  • 我们无法在缩放事件(客户要求)中强制自动刷新。

  • 我已经尝试过css3-mediaqueries.js,但是我无法使它工作,(而且对我的网页来说也太沉重了。)

  • 我已经禁用了Web Portal中的所有其他JS(想想也许有些JS正在困扰Respond),但仍然没有结果。

任何帮助都将不胜感激。

0 个答案:

没有答案