0
我知道,有可能使用jQuery來檢測負載事件:有沒有辦法檢測何時iframe開始加載未完成?
$('#iframeid').load(function(){
alert('frame has (re)loaded');
});
是否有可能時,它開始對不同產地,而不是完成裝載的裝載檢測?
我知道,有可能使用jQuery來檢測負載事件:有沒有辦法檢測何時iframe開始加載未完成?
$('#iframeid').load(function(){
alert('frame has (re)loaded');
});
是否有可能時,它開始對不同產地,而不是完成裝載的裝載檢測?
您可以通過使用MutationObserver https://msdn.microsoft.com/en-us/library/dn254985(v=vs.85).aspx。但是,這是由瀏覽器的新版本僅支持,你可以在這裏找到完整的列表http://caniuse.com/#feat=mutationobserver
用法:
<iframe id="iframe"></iframe>
var iframe = $("body").find("#iframe");
var observerConfig = {
attributes: true,
childList: true,
characterData: true
};
var iframeObserver = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.attributeName == "src"){
// your code
}
});
});
iframeObserver.observe(iframe[0], observerConfig);
// later, you can stop observing
//observer.disconnect();
setTimeout(function() {
iframe.attr("src", "test");
}, 2000);
以下是完整的小提琴 https://jsfiddle.net/jrmbzdp9/2/
感謝您的回答,但一旦調查填充並點擊發送它不捕獲事件。我在這裏錯過了什麼嗎? https://jsfiddle.net/jrmbzdp9/28/ – motto
只有當你改變iframe的src(基本上加載了其他東西),這將工作,我改變了小提琴使用jquery設置src而不是在標記https://jsfiddle.net/jrmbzdp9/29/,如果這對你來說不夠好,我沒有其他的想法,你可以如何實現這一點 –