2016-04-21 47 views
0

我需要强制调整我的浏览器窗口的大小,因为承诺会在很宽的元素上打破IScroll(问题是我使用承诺来更改宽度如果承诺成功)。在承诺完成之前,IScroll加载并从原始元素获取。结果是,我只能滚动到原始元素宽度的宽度,而不是承诺所加载的更宽元素的新宽度。如果我手动调整浏览器窗口的大小,我可以滚动完整大小。window.dispatchEvent不适用于Firefox,Safari或IE

我在加载promise后通过更改IScroll的maxScrollXscrollerWidth来解决这个问题,但我也使用了一个不会一直滚动的指示符。

我试图解决这个问题,使用window.dispatchEvent(new Event('resize'));强制调整窗口大小。我的问题是,这在Chrome中可以正常工作,但在Firefox,Safari和IE中彻底打破了滚动条。有没有其他方式来强制调整与所有浏览器兼容的窗口大小?

我尝试了下面的浏览器不工作:

  • 的Safari 5.1.4(734.54.16)
  • 火狐45.0.2
  • 边缘25.10586.0.0
+0

'window.resizeTo(width,he ight)'将调整窗口的大小 –

+0

@EaswarRaju'console.log(window.innerHeight); window.resizeTo(500,500); console.log(window.innerHeight);'在console.log中的chrome中给出了相同的值。尽管之前的宽度并不接近500。 – BluePrint

回答

0

我终于自己找到了答案:

$timeout(function() { 
    var evt = $window.document.createEvent('UIEvents'); 
    evt.initUIEvent('resize', true, false, $window, 0); 
    $window.dispatchEvent(evt); 
}); 
相关问题