你可以使用
MutationObserver
. 它可以让你听到DOM的突变;这就像是在dom本身上设置事件侦听器,并在向其添加iFrame时进行侦听:
(new MutationObserver(mutations => {
mutations[0].addedNodes.forEach(node => {
if (node.tagName.toLowerCase() === 'iframe') {
//do stuff
}
});
})).observe(document.body, {childList: true});
document.body
,我们只监听其子节点的更改(添加或删除节点)。这个
forEach
遍历每个添加的节点(如果有),并检查其是否为
iFrame