jquery 获取iframe刷新结果

我用2个按钮,点击之后就onclick 一个函数function kc() 修改iframe的src属性$('#iframe').attr(“src”,“sstest.aspx”);
接着我想知道这iframe有没有刷新完成,怎么判断??

第1个回答  2012-08-14
你可以把代码稍微变动下 $('#iframe').attr(“src”,“sstest.aspx?tag=” + Math.random());

这样每次都会刷新
第2个回答  推荐于2016-01-29
iframe有个onload事件,你可以试一试!

或者
你在iframe里面的页面里面写个document.onload事件,加载完就触发一段JS执行,调用parent对象来告诉父窗体我加载完成了追问

function check(chaname)
{
一个自定义的函数用于显示刷新图标
$('#iframe').attr("src","checkTesr.aspx?type="+chaname);

$("#iframe").load(function(){
停止那图标的函数
});
}
但是我这样写不行哦,一直没有跳到 $("#iframe").load里面,该怎么处理?

追答

用JS原版吧,jQuery是为了处理兼容性而产生的,不是万能的,这个onload事件是没有兼容性问题的

追问

你说那个document.onload事件是怎么写的? 其实我用的iframe加载的是本页面哦,起到一个ajax的下载功能喔! 有没有参考的资料或者源码。。。请说一下

追答

你所谓的ajax下载是什么意思,是想调用一个链接开始下载文件?如果是这个的话,可以用a标签,设置一个taget="_blank" 新开一个窗口访问链接(是下载的话,IE下立即弹出打开,保存,取消的选择了)

追问

不是。。是直接输出一个excel,用response.write输出的。。但是现在用了iframe 我需要知道iframe里面有没有刷新处理成功

追答

算了,太扯了,实在不明白你什么意思!
jquery的ajax即使有特别定义,也不能返回一个文件,永远都是字符串和特殊字符串对象(JSON对象,XML对象等)

追问

我只是通过那个attr(“src”,“网址?参数=”+参数)。。。那网址只是现在的网页名,这样就能post那参数到本页面后台处理了吧??不是用jq的post get ajax。。。而是用iframe实现导出excel的效果。。现在问题是我不知道该怎么判断iframe有没有刷新了那src的网址、response.whrite输出excel。 因为我是用一个图片:“excel正在导出·······” 现在我需要判断然后终止图片的显示

追答

想服务端正在处理中,然后客户端还要给个进度之类的?
http是无状态的,所以这个功能你只有自己用多个访问来逻辑处理!

追问

不是 只要在前端知道iframe已经输出excel成功就可以了。但是我不知道怎么判断.

追答

没有这个功能,还有,这跟iframe没多大关系,别去纠结iframe了,你就ajax请求也一样能获取到信息!
你这个问题跟你所提问完全没有关系!

本回答被提问者采纳
相似回答