【发布时间】:2015-05-20 03:05:00
【问题描述】:
如果我有一个包含 iframe 的网站:
<html>
<body>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<iframe src="http:/somelink.com/iframe.html"></iframe>
</body>
</html>
那么 iframe 是否有可能知道它是否可以“看到”? 例如,通过了解与屏幕顶部相关的 iframe 的顶部位置。
这是我的测试 iframe: (所有值都是0,不管父级的滚动位置)
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
console.log("ok");
check();
});
function check() {
// position of parent
var parentScrollTop = $(window.parent.document).scrollTop();
console.log("parentScrollTop: "+parentScrollTop);
// self position
var bodyPosition = $("body").position().top;
console.log("body position: "+bodyPosition);
setInterval(check, 1000);
}
</script>
<style type="text/css">
body {
background-color: red;
}
</style>
</head>
<body>
</body>
</html>
我做了一个更清晰的图像。
我必须从 iframe 中知道它是否可见! 所以不是来自包含 iframe 的页面。
【问题讨论】:
-
你能搞定这个吗?
-
是的,给我几分钟
-
这对 jsfiddle 来说太可怕了!
-
不是重复的。这更棘手......
标签: javascript jquery html iframe