0

我的 html 页面上有一个表单控件,目标设置为页面上另一个隐藏 iframe 的名称。

当我通过 post 调用执行 form.submit 时,我希望显示一个忙碌/进度指示器,直到我收到 iframe 中的 post 请求的响应。

我尝试在 IE 中使用 document.getElementById("iframename").readyState ,它就像一种享受,但我如何在 Chrome/Firefox/Safari 等中处理这种情况......?

我的理解是,除了 IE,readyState 在包括 iframe 在内的 html 元素的其他浏览器中不可用。

任何建议将不胜感激。

谢谢。

4

2 回答 2

1

既然你标记jQuery了我认为它可以使用。

.load()使用侦听器,我得到了一些非常好的结果,如下所示:

$('#myframe').load(function() {
    // loaded iframe
});
于 2012-09-03T15:50:16.647 回答
0

我找到了答案

http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx

而不是使用依赖于就绪状态的浏览器,
1)我们随机生成一个密钥以与表单一起提交。2) 在 javascript 中,显示进度指示器,运行一个计时器来检查 cookie 和密钥是否匹配,如果匹配,则在提交之前清除计时器并隐藏进度。3) 我们读取服务器上的密钥,将密钥附加到 cookie 响应中。4) 在响应时,如果 cookie 匹配,进度指示器将隐藏。

巧妙!

于 2012-09-05T00:35:56.700 回答