Imm*_*tal 5 html javascript iframe jquery
问题陈述:
我有一个.NET用户控件,我在里面使用了iFrame.我在页面上有多个实例(可以是任意数字)的控件(其中包含iFrame).每次控制状态改变时,我必须加载所有控件.该控件有一些必填字段.
我有一个导航到另一个屏幕的按钮,因为每次加载所有控件时,所有控件都需要相当长的时间才能加载.用户正在尝试完成所有必填字段并单击下一个按钮,即使用户已完成所有必填字段,并且控件(使用iframe)未完全加载,也会在此实例中生成验证错误.
注意:以上所有内容都是JavaScript,而不是服务器端.
我尝试了什么:
我尝试显示一个模态div,直到它加载,但我显然无法捕获确切的加载时间,可能会点击下一个按钮.
我尝试在验证功能上超时,但由于加载不是确定的,它偶尔会工作.
我尝试使用计数器来查看加载了多少控件以检查总控件,然后只允许验证功能触发,再次加载它的确定方式,没有帮助.
我知道这可以通过不同的方式完成,但由于所付出的巨大努力和时间,我们必须采用现有方式,并且必须解决问题.有人可以建议任何指针/解决此问题.
我把这个修好了。我相信修复是一种躲避,但我不知道任何其他方法。
我采用了上面提到的方法3。有一个 1ms 的超时,并且计数器在该超时内递增,即
setTimeout(function() {
counter++;
}, 1);
Run Code Online (Sandbox Code Playgroud)
我的验证代码上还有一个计数器,将其延迟 1 毫秒,并检查计数器是否等于所有可用控件的条件,如果不再次验证,直到条件为假。否则继续。
function validate() {
if (counter != total number of frames) {
setTimeout(function() {
validate();
}, 1);
return false;
}
...
}
Run Code Online (Sandbox Code Playgroud)
感谢大家的投入,这很有帮助。希望这将是解决类似问题的最后手段。
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |