使用jQuery动态检测iframe?

Use*_*job 0 javascript iframe jquery

为了检查 iFrame 当前是否打开,您可以使用:

if (window!=window.top) { /* I'm in a frame! */ }
Run Code Online (Sandbox Code Playgroud)

但是如果我想在 iFrame 打开时收到警报怎么办?如何让 JS 自动检测 iFrame 已在当前页面上打开或插入到 DOM 中?

小智 5

使用 JQuery,您可以使用以下代码:

$('body').on('DOMNodeInserted', 'iframe', function(e) {
  console.log("Iframe inserted into document");
});

// To test it
$('button').click(function() {
  $('body').append('<iframe></iframe>')
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Add iframe</button>
<hr />
Run Code Online (Sandbox Code Playgroud)