`
binn.zeng
  • 浏览: 10704 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

ext2.2在嵌套iframe时在ie上的js加载问题解决方式(bug?)

    博客分类:
  • ajax
阅读更多

在Ext2.2中 tab嵌套iframe用来页面分块,不过出现一个问题,如果iframe中页面是由js构造的话,ie上报错,ff上正确运行,经过排查,发现是js的执行顺序问题,Ext.onReady被过早的执行.

继续寻求答案,最后发现这应该是Ext的一个bug?

修改Ext源代中2个部分可以解决这个问题,当然不知道官方下个版本会不会把这个bug fix掉

修改代码如下:

 

var fireDocReady = function() {

	if (!docReadyState) {
		docReadyState = true;
		if (Ext.isGecko || Ext.isOpera) {
			document.removeEventListener("DOMContentLoaded", fireDocReady,
					false);
		}
	}

	if (docReadyProcId) {
		clearInterval(docReadyProcId);
		docReadyProcId = null;
	}
	if (docReadyEvent && !Ext.isReady) {
		Ext.isReady = true;
		docReadyEvent.fire();
		docReadyEvent.clearListeners();
	}

};
var initDocReady = function() {
	docReadyEvent = new Ext.util.Event();

	if (Ext.isReady) {
		return;
	}

	E.on(window, 'load', fireDocReady);

	if (Ext.isGecko || Ext.isOpera) {
		document.addEventListener('DOMContentLoaded', fireDocReady, false);
	} else if (Ext.isIE) {
		/*
		 * docReadyProcId = setInterval(function(){ try{ Ext.isReady ||
		 * (document.documentElement.doScroll('left')); }catch(e){ return; }
		 * fireDocReady(); }, 5);
		 */

		document.onreadystatechange = function() {
			if (document.readyState == 'complete') {
				document.onreadystatechange = null;
				fireDocReady();
			}
		};
	} else if (Ext.isSafari) {
		docReadyProcId = setInterval(function() {
			var rs = document.readyState;
			if (rs == 'complete') {
				fireDocReady();
			}
		}, 10);
	}
};
 
分享到:
评论
8 楼 xshlife 2009-02-28  
  幸苦了,楼主.
7 楼 xshlife 2009-02-28  
非常好,打心底里感谢楼主.
6 楼 305355024 2009-02-25  
我的还是不好使啊!郁闷啊 !
5 楼 ffychina 2008-12-24  
非常感谢楼主binn.zeng的无私奉献,帮我解决了这个大问题,谢谢...
4 楼 cagway 2008-12-01  
不会吧,我都说的那么具体了,还不行?把你的邮箱告诉我,我发给你修改后的EventManager.js
3 楼 honlin 2008-11-29  
不好使啊,按照以上二位的改动
2 楼 cagway 2008-11-17  
我也遇到了这种情况,已通过博主的方法解决
这里的改动有三处
原代码为EventManager.js
1.
  行数:第4行 源码 第102行
  改前docReadyState = Ext.isReady = true;
  改后docReadyState = true;
2.
  行数:第15行 源码 第111行
  改前:if(docReadyEvent){
  改后:if (docReadyEvent && !Ext.isReady) {
Ext.isReady = true;
3.
  行数:第34行 源码 第132行
  将34-38行注释

改完后,在ie6和firefox3.0.4试都没有问题
1 楼 chenpengyu689 2008-11-15  
我也遇到了和你一样的问题,请问这段代码要在哪里修改啊?是在ext-all.js中改吗?请你说具体点吧。。。谢谢了啊。。呵呵!

为了解决这个问题我也曾试过不用iframe改用autoload,不过那样又会遇到很多新的问题,我觉的在每个subtab里引入iframe虽然又得重新下载许多extjs,但对性能的影响似乎也没那么大,所以想用你的方法解决问题。。。

相关推荐

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

    ExtAspNet_v2.3.2_dll

    -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...

    HybridEnergyFarms是一个展示海洋电池技术与可再生能源的工具包,集成模型包括评估LCOE和LCOG的功率模型(Simulink)和成本模型(MATLAB)。.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    2025年自动化仪表创业项目方案.docx

    2025年自动化仪表创业项目方案.docx

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Ignore.zip

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Ignore.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    基于MATLAB的电力系统潮流计算完整程序

    电力系统潮流计算是电力工程领域的一项核心技术,主要用于分析电力网络在稳态运行条件下的电压、电流、功率分布等运行状态。MATLAB凭借其强大的数值计算功能和便捷的编程环境,成为电力系统潮流计算的重要工具,它提供了丰富的数学函数库,能够高效地处理复杂的电力系统计算任务。 本压缩包中的“潮流计算MATLAB程序”是一套完整的电力系统潮流计算解决方案,主要包括以下几个关键部分: 数据输入模块:该模块负责读取电力系统的网络数据,包括发电机、线路、变压器等设备的参数。这些数据通常来源于IEEE测试系统或实际电网,并以特定格式存储。 网络建模:基于输入数据,程序构建电力系统的数学模型,主要涉及节点功率平衡方程的建立。每个节点的注入功率等于其消耗功率,对于发电机节点还需考虑其有功和无功功率的调节能力。 迭代算法:潮流计算的核心是求解非线性方程组,常见的算法有牛顿-拉夫森法和高斯-塞德尔法。MATLAB的优化工具箱可辅助实现这些算法,通过迭代更新节点电压和支路电流,直至满足收敛条件。 结果输出:计算完成后,程序能够输出关键性能指标,如节点电压幅值和相角、支路功率流、发电机的有功无功功率等。这些信息对于分析电网运行状态和制定调度策略具有重要意义。 可视化功能:程序可能包含图形用户界面(GUI),用于展示计算结果,例如绘制网络拓扑图并标注节点电压和支路功率,便于用户直观理解计算结果。 错误处理与调试:良好的程序设计应包含错误检测和处理机制,以应对不合理数据或计算过程中出现的问题,并给出适当的提示。 对于电力系统分析课程的学生来说,这个MATLAB程序是一个宝贵的学习资源。它不仅有助于学生掌握电力系统的理论知识,还能让他们了解如何将理论应用于实践,通过MATLAB解决实际问题。尽管该程序是作者一周内完成的,可能存在一些未完善之处,但使用者可以在参考的基础上逐步改进和完善,使其更贴合自身需求。 总之

    cmd-bat-批处理-脚本-updaterjs.zip

    cmd-bat-批处理-脚本-updaterjs.zip

    cmd-bat-批处理-脚本-fsharp.zip

    cmd-bat-批处理-脚本-fsharp.zip

    电力系统双馈感应发电机频率耦合特性建模与稳定性分析:风电系统次同步振荡风险评估及控制策略设计(含详细代码及解释)

    内容概要:该论文深入研究了双馈感应发电机(DFIG)的频率耦合特性及其对系统稳定性的影响。传统阻抗分析方法将DFIG系统解耦为正序和负序子系统进行分析,但当系统中存在频率耦合时,这种线性假设可能导致错误的稳定性结论。论文重点分析了由PLL(锁相环)和不对称转子电流控制引起的频率耦合现象,建立了描述DFIG频率耦合特性的解析模型,并通过仿真验证了模型的有效性。基于该模型,论文进一步分析了系统稳定性及频率耦合的影响因素,表明阻抗分析方法相比传统特征值分析方法更具优势,即使无法建立解析模型,也可通过实验或仿真获得阻抗模型。此外,论文提供了详细的Python代码实现,包括DFIG参数定义、阻抗模型构建、稳定性分析及可视化结果。 适合人群:电力系统工程师、风电系统研究人员、高校电气工程专业师生等具有电力系统基础知识和一定编程能力的专业人士。 使用场景及目标:①用于理解和研究DFIG系统在风电场中的频率耦合特性;②帮助工程师和研究人员分析DFIG系统的稳定性,识别潜在的次同步振荡风险;③为实际风电系统的稳定性评估和优化提供理论依据和技术支持。 其他说明:该论文不仅提供了理论分析,还通过Python代码实现了完整的DFIG频率耦合建模和稳定性分析流程。

    2025年职称计算机考试理论模拟试题及答案.docx

    2025年职称计算机考试理论模拟试题及答案.docx

    《CMU统计学课程1 - 10章课后习题答案整理》

    《全统计:CMU课程1-10章课后答案详解》是一份极具价值的学习资料,专为卡内基梅隆大学(CMU)“全统计”课程的前10章课后习题提供详尽的解题指导。该压缩包内含10个PDF文件,每个文件对应一章的详细解答,目的是助力学生深刻领会统计学的基础知识、核心理论与实际应用。 在第一章中,通常会讲解统计学的基本概念,例如样本与总体、参数估计、概率分布等。答案详解会涵盖如何计算平均值、中位数、众数,以及如何分析这些统计量之间的差异。同时,还会介绍随机变量和概率分布,如二项分布、正态分布等内容。 第二章主要涉及抽样分布理论,包括中心极限定理,这是统计推断的关键基础。答案详解会说明如何借助抽样分布开展假设检验,例如t检验和z检验。 第三章则深入探讨置信区间的构建以及假设检验的方法。答案详解会详细阐述如何确定置信水平,以及在不同情境下如何选择单尾或双尾检验。 第四章通常聚焦于线性回归模型,包括回归方程的建立、残差分析以及多重共线性问题。答案详解会展示如何解读回归系数,预测未知变量,并解释相关性的强度和方向。 第五章可能探讨非参数统计方法,这些方法不依赖于特定的分布假设,例如Kolmogorov-Smirnov检验、Mann-Whitney U检验等。答案详解会解释在数据分布未知时如何开展统计分析。 第六章将涉及单因素和多因素方差分析(ANOVA),用于比较不同组间的均值差异。答案详解会详细说明如何执行ANOVA,解释F统计量及其意义。 第七章可能涵盖实验设计的基本原则,包括随机化、复制和控制。答案详解会说明如何设计有效的实验以减少偏差,以及如何分析实验结果。 第八章可能涉及时间序列数据的特性,如趋势、季节性和周期性。答案详解会介绍ARIMA模型、自回归移动平均模型等,并解释如何预测未来趋势。 第九章可能深入到多元统计领域,包括多元线性回归、主成分分析、因子分析等。答案详解会介绍如何处理多维

    MATLAB实现激光谐振腔自再现模的Fox-Li迭代算法仿真

    提供一份MATLAB代码,采用Fox-Li迭代算法,只需复制粘贴到MATLAB软件中即可直接运行,非常便捷且精准。

    cmd-bat-批处理-脚本-register_python.zip

    cmd-bat-批处理-脚本-register_python.zip

    cmd-bat-批处理-脚本-GetOSVersion.zip

    cmd-bat-批处理-脚本-GetOSVersion.zip

    基于GAN的视景图像超分辨率重 建方法研究.zip

    基于GAN的视景图像超分辨率重 建方法研究.zip

    MATLAB环境下极化码SC与SCL译码仿真研究

    极化码(Polar Code)是由土耳其科学家Erdal Arıkan在2009年提出的一种新型纠错编码技术。它通过利用信道的极化现象,将虚拟信道分为误码率接近0和接近1/2的两类。在编码设计中,数据被放置在误码率极低的信道上,从而实现高效的数据传输。极化码的主要优势在于其理论编码容量能够达到香农限,并且构造方法较为简单。 MATLAB是一种功能强大的数学计算和编程工具,广泛应用于科学研究和工程领域。在极化码的研究中,MATLAB可用于构建编码和解码算法,模拟数据在不同信道条件下的传输效果,验证理论性能,并优化相关参数。 SC(Successive Cancellation,逐位取消)译码是极化码的基本解码方法。它从最可靠的比特开始,依次解码每个虚拟信道,且每个比特的解码结果会影响后续比特的解码,因为它们之间存在依赖关系。虽然SC译码的实现较为简单,但其计算复杂度较高,随着码长的增加,解码时间会线性增长。 SCL(Successive Cancellation List,逐位取消列表)译码是SC译码的改进版本。它通过引入列表机制,同时处理多个路径,从而增强了错误校正能力,并在一定程度上降低了错误率。与SC译码相比,SCL译码虽然需要消耗更多的计算资源,但能够提供更好的性能。 一个完整的MATLAB仿真资源通常包含以下内容: 编码模块:用于实现极化码的生成,包括码字构造和极化矩阵操作等。 信道模型:用于模拟各种通信信道,例如AWGN(加性高斯白噪声)信道或衰落信道。 SC/SCL译码模块:包含SC译码和SCL译码的算法实现。 误码率(BER)计算:通过比较发送和接收的码字,计算误码率,以评估编码性能。 性能曲线绘制:绘制误码率与信噪比(SNR)之间的关系曲线,展示不同译码策略的性能差异。 使用说明:指导用户如何运行仿真,理解代码结构,以及如何调整参数以进行自定义实验。 代码注

    postgresql-16.9-1-windows-x64 版本官网下载安装文件

    postgresql-16.9-1-windows-x64 版本官网下载安装文件

    Matlab代码基于马蹄先验的联合均值-协方差估计的模拟研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

Global site tag (gtag.js) - Google Analytics