FineUI 官方论坛

标题: 【已解决】IE关闭窗口后,回调仍然在执行的BUG [打印本页]

作者: KITTEN    时间: 2014-3-11 10:35
标题: 【已解决】IE关闭窗口后,回调仍然在执行的BUG
过程如下
1、打开登录界面
2、点击弹出窗口打开新增界面
3、点击新增界面的返回按钮,报错


作者: sanshi    时间: 2014-3-11 11:25


这个问题其实是 IE6 以来长期存在的BUG,这个示例在Chrome 和 Firefox 中没有任何问题。

原因是 parent.window.removeActiveTab(); 脚本关闭当前页面后,页面上的回调脚本还在执行,而此时页面上的 JavaScript 变量都已经不存在了,就出错了。

解决办法,可以为 parent.window.removeActiveTab();  增加一个延迟执行,也可以更改 default.js 中的 removeActiveTab 函数为:
  1. // 移除选中标签页
  2.     window.removeActiveTab = function () {
  3.         window.setTimeout(function () {
  4.             var activeTab = mainTabStrip.getActiveTab();
  5.             mainTabStrip.removeTab(activeTab.id);
  6.         }, 0);
  7.     };
复制代码








欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4