window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
window.dispatchEvent doesn't work in Firefox, Safari or IE
我需要强制调整浏览器窗口的大小,因为一个承诺在一个非常宽的元素上破坏了IScroll(问题是如果承诺成功,我使用承诺来更改宽度)。IScroll 在承诺完成之前加载并从原始元素获取 with。结果是我只能滚动与原始元素宽度一样宽,而不能滚动 promise 加载的更宽元素的新宽度。如果我手动调整浏览器窗口的大小,则可以滚动完整大小。
我通过在加载承诺后更改 IScroll 的maxScrollX
和scrollerWidth
来解决此问题,但我也使用了一个不会一直滚动的指示器。
我尝试使用window.dispatchEvent(new Event('resize'));
来强制调整窗口大小来解决此问题。我的问题是这在Chrome中工作正常,但在Firefox,Safari和IE中完全破坏了滚动。有没有其他方法可以强制调整与所有浏览器兼容的窗口大小?
我尝试了以下浏览器,但不起作用:
- 野生动物园 5.1.4 (734.54.16)
- 火狐 45.0.2
- 边缘 25.10586.0.0
我终于自己找到了答案:
$timeout(function() {
var evt = $window.document.createEvent('UIEvents');
evt.initUIEvent('resize', true, false, $window, 0);
$window.dispatchEvent(evt);
});
相关文章:
- window.opener.document在ie中不起作用
- 为什么Telerik cdn在IE中不起作用
- JQuery脚本在IE中不起作用
- 默认光标在IE和Mozilla中不起作用
- Asp自定义验证器在IE-11中不起作用
- knockoutjsforeach在IE 9中不起作用
- 谷歌分析在IE中不起作用
- javascript中的SVG转换在IE 11中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 在IE中切换javascript不起作用的复选框
- JQuery日期选择器在IE 7上不起作用
- HTML表单在IE中不起作用
- Javascript style.background在IE中不起作用
- 对<asp:IE 10的TextBox;不起作用
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- SPA异步调用在IE 11中不起作用
- 脚本在IE 9中不起作用
- ng-单击在IE中不起作用的选项选择Angularjs
- JQuery 双击侦听器在选择 - IE 不起作用
- 脸书登录IE不起作用