我需要强制调整浏览器窗口的大小,因为承诺会在非常宽的元素上打破IScroll(问题是如果promise成功,我会使用promise更改宽度)。在promise完成之前加载IScroll并从原始元素获取with。结果是我只能滚动与原始元素宽度一样宽,而不是由promise加载的更宽元素的新宽度。如果我手动调整浏览器窗口的大小,我可以滚动完整大小。
我通过在承诺加载后更改IScroll' s maxScrollX
和scrollerWidth
来修复此问题,但我也使用了一直不会滚动的指标。
我尝试使用window.dispatchEvent(new Event('resize'));
修复此问题以强制调整窗口大小。我的问题是这在Chrome中运行良好,但在Firefox,Safari和IE中完全打破了滚动。是否有其他方法可以强制调整与所有浏览器兼容的窗口大小?
我尝试了以下不起作用的浏览器:
答案 0 :(得分:1)
我终于找到了答案:
$timeout(function() {
var evt = $window.document.createEvent('UIEvents');
evt.initUIEvent('resize', true, false, $window, 0);
$window.dispatchEvent(evt);
});