【发布时间】:2016-03-20 11:32:21
【问题描述】:
当有以下 HTML 页面 (index.html)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Parent</title>
</head>
<body>
<iframe src="iframe.html"></iframe>
<script src="https://code.jquery.com/jquery-1.12.2.min.js"></script>
<script>
$(function(){
console.log("document ready");
$("iframe").on("load", function(){
console.log("iframe loaded");
});
});
</script>
</body>
</html>
以及以下 iframe.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Child</title>
</head>
<body>
<p>Lorem ipsum</p>
</body>
</html>
控制台输出如下所示:
但是,“已加载 iframe”的日志丢失了。 .on("load") 似乎没有在 iframe 上被触发。
有人知道为什么吗?
编辑:
- 我当然激活了 JavaScript(否则我不会看到任何日志消息)
- 我无法编辑
iframe.html,因此使用postMessage等对我来说不是解决方法 - 我已在最新的 FF (47.0a2) 和 Chrome (49) 中对此进行了测试
【问题讨论】:
-
也在 chrome 上检查过。它的工作完美。请检查文件是否在同一文件夹中。如果没有,则提供正确的路径
-
我已经在这里描述了这个问题的原因和解决方案:stackoverflow.com/a/36155560/3894981
标签: javascript jquery html iframe load