使用jQuery捕获iframe重载

Catch iframe reload with jQuery

本文关键字:重载 iframe 捕获 jQuery 使用      更新时间:2023-09-26

我有一个用jQuery动态加载的iframe,就像这个

jQuery('<iframe id="myFrame" src="iframesrc.php"></iframe>').load(function(){
    // do stuff when loaded
}).prependTo("#myDiv");

我想在每次重新加载内部框架时捕捉重新加载事件。我试过这个:

jQuery('body').on('load', '#myDiv', function() {
    alert('iframe loaded');
});

但我没有得到任何响应,无论是在初始加载时还是在iframe内跟踪链接时。我做错了什么?

您在上面的示例中查找的是div的load操作,而不是iframe。尝试:

$("#myFrame").on("load", function () {
    alert("Hi there, hello");
})

此外,如果您不使用其他库,请使用$()访问jQuery,而不是使用jQuery()

还要注意,您想要在页面上运行的任何函数都必须绑定到jQuery的文档就绪事件,如:

$(function () {
    // your code goes here
    $("#myFrame").attr("src", "http://google.com"); // <- this works
})
$("#myFrame").attr("src", "http://google.com"); // <- this does not work

用于新的url

location.assign("http:google.com");

assign()方法加载一个新文档。

重新加载

location.reload();

reload()方法用于重新加载当前文档。