有没有办法检测jrame / jQuery中加载iframe的时间?满足以下条件:
我在其他问题中已经读过这个问题,但要么它们不完整,要么不假设这三个条件。
提前致谢。
补充 @Jaromanda X:
我需要在observer.observe(document.body, { childList: true });
中添加一个选项来实现此答案:observer.observe(document.body, { childList: true, subtree: true });
。 子树选项也适用于目标的所有后代(本案例document.body)。
答案 0 :(得分:3)
使用变异观察器来检测何时将iframe添加到DOM中,然后您可以添加load
事件侦听器来检测iframe何时已经编号
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
[].filter.call(mutation.addedNodes, function (node) {
return node.nodeName == 'IFRAME';
}).forEach(function (node) {
node.addEventListener('load', function (e) {
console.log('loaded', node.src);
});
});
});
});
observer.observe(document.body, { childList: true, subtree: true });