2015-05-11 35 views
1

我写了这个代码,并在浏览器Safari工作正常....
Internet Explorer它的宽度的情况下工作......
,但它不是唯一的,如果工作高度从顶端朝向下方调整...
我注意到窗口粘贴到任务栏时,这种方式调整大小(见附图),这允许调整窗口的极限...
任何修复此??
帮助将不胜感激......
限制将Internet Explorer设置调整到一个特定的限制

var MinimumWindowHeight = 600; 
    var MinimumWindowWidth = 1024; 
    var resizeTimeout; 


    $(window).resize(function() { 

    clearInterval(resizeTimeout); 
     resizeTimeout = setTimeout(function() { 
      try { 
       if ($(window).height() < MinimumWindowHeight || $(window).width() < MinimumWindowWidth) 
        window.resizeTo(MinimumWindowWidth, MinimumWindowHeight + 168); 
      } catch (e) { } 
     }, 50); 
    }); 
+1

请问您有关于您遇到的问题的更多描述吗? – abarisone

+0

我注意到你应该分开宽度和高度......因为如果有人调整到“599x2048”,你会强制窗口变为“600x1024”,而不是“600x2048”(因为2048不是太小!)。所以做2连续的'if',其中第二个'if'考虑到第一次潜在的调整大小... – Random

+0

@abarisone有这个问题的截图..因为我没有10声望,所以我不能张贴... ...请看看这张图片[截图](http://postimg.org/image/9axuvv3yz/)... – devgal

回答

1

尝试这种分离的高度和宽度属性:

clearInterval(resizeTimeout); 
     resizeTimeout = setTimeout(function() { 
      try { 
       if ($(window).height() < MinimumWindowHeight) { 
        window.resizeTo($(window).width(), MinimumWindowHeight + 168); 
       } 
       if ($(window).width() < MinimumWindowWidth) { 
        window.resizeTo(MinimumWindowWidth, $(window).height()); 
       } 
      } catch (e) { } 
     }, 50); 
    }); 



编辑1:
要记录实际发生的事情:

clearInterval(resizeTimeout); 
     resizeTimeout = setTimeout(function() { 
      try { 
       if ($(window).height() < MinimumWindowHeight) { 
        console.log("last height: " + $(window).height()); 
        console.log("new height: " + MinimumWindowHeight + "+ 168"); 
        window.resizeTo($(window).width(), MinimumWindowHeight + 168); 
       } 
       if ($(window).width() < MinimumWindowWidth) { 
        console.log("last width: " + $(window).width()); 
        console.log("new width: " + MinimumWindowWidth); 
        window.resizeTo(MinimumWindowWidth, $(window).height()); 
       } 
      } catch (e) { 
        console.log("an error occured !"); 
      } 
     }, 50); 
    }); 



EDIT 2 :
我看到有关任务栏问题的帖子:https://stackoverflow.com/a/60209/4786273
看起来你不能,你必须在调整大小之前移动窗口以避免这种情况......你可以计算位置而不是(0,0)位置。
为此,您可以阅读https://stackoverflow.com/a/3437825/4786273screen.height - (MinimumWindowHeight + 168)以获取窗口的顶部位置。

+0

它不工作...做同样的事情...请在我以前的评论中看到我的问题的屏幕截图 – devgal

+0

我真的不明白你的截图...什么是红色框?调整大小后,大小(由您的代码调整大小)? – Random

+0

红色框显示..如果窗口从上到下调整大小...窗口的底部粘贴到任务栏......粘贴显示在红色框中......并且这允许降低窗口的高度.....如果我正在做反之亦然,正在降低从底部到上部的高度我的代码工作..并且窗口被调整大小给定的值..... – devgal