如何使用jQuery检查IFrame是否在页面上可见

Pus*_*kar 7 html javascript css iframe jquery

假设我有一个包含多个IFrame的页面:

主页

<div id='someDiv1' style='display:none; '>
       <iframe id='iframe1' src='iframe1.html'>
           <input id='someinput'></input>
       </iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

IFrame(iframe1.html)

<input id='someinput'></input>
<script>
  function isElementVisible(elem){

  }
</script>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何检查元素是否可见/隐藏由于IFrame的父div隐藏它?

我尝试使用$('#someinput').is(':visible')但如果我在IFrame中运行它,我总是会成功.我没有选项来更改页面结构,也没有在父内部执行脚本.

Tie*_*rcq 8

iframe中的文档不知道主页中的情况......但我相信您可以"查询"您的父母以检查它是否可见?

$('#someDiv1', window.parent.document).is(":visible");
Run Code Online (Sandbox Code Playgroud)

或没有jquery,因为你真的不需要它..

if(window.parent.document.getElementById("someDiv1").style.display != "none") 
    alert("Visible");
else 
    alert("Hidden");
Run Code Online (Sandbox Code Playgroud)

  • 如果IFRAME来自其他域而不是父文档,这是否可行? (2认同)