由于诺言会在非常宽的元素上中断IScroll,因此我需要强制调整浏览器窗口的大小(问题是,如果诺言成功,我将使用诺言来更改宽度)。IScroll在Promise完成之前加载,并从原始元素获取with。结果是,我只能滚动到原始元素的宽度,而不能滚动到promise加载的较宽元素的新宽度。如果手动调整浏览器窗口的大小,则可以滚动整个大小。
我通过更改IScrollmaxScrollX
以及scrollerWidth
在promise加载后解决此问题,但是我还使用了一个不会一直滚动的指示器。
我试图通过window.dispatchEvent(new Event('resize'));
强制调整窗口大小来解决此问题。我的问题是,这在Chrome浏览器中工作正常,但在Firefox,Safari和IE中完全中断了滚动。是否有其他方法可以强制调整与所有浏览器兼容的窗口的大小?
我尝试了以下不起作用的浏览器:
我终于找到了答案:
$timeout(function() {
var evt = $window.document.createEvent('UIEvents');
evt.initUIEvent('resize', true, false, $window, 0);
$window.dispatchEvent(evt);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句