2016-04-21 552 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); 
}); 
相關問題