这个代码肯定是先执行了refresh,然后执行了其他语句。
你想要的是不是refresh之后iframe里的页面加载完再执行其他语句?
function f1(){// 监听iframe的onload事件
window.frames['iframename'].onload = function() {
//其他语句
}
refresh()
}
function refresh(){
window.frames['iframename'].location.href = '/../../href.jsp'
}
今天忽然看到几年前的问题。 为了给后面的新人一些帮助。把问题的解决方法说一下。
存在ajax的情况时,函数顺序是会出现这个问题的,因为大家都知道ajax是异步处理的,他请求发出后不会等结果回来,而是直接向下执行后面的代码。
如果需要通过ajax的返回结果 再进行后面的流程,那么需要把ajax的异步请求关闭。这样它就可以顺序进行了。如JQuery关闭异步的方法如下:
function load_val(){var result
$.ajax({
dataType:'json',
url : 'test.php',
async:false, //这里选择异步为false,那么这个程序执行到这里的时候会暂停,等待数据加载完成后才继续执行
success : function(data){
result = data
}
})
return result
}