Javascript 如果在iframe中删除html

Javascript 如果在iframe中删除html,javascript,html,iframe,Javascript,Html,Iframe,如果我的页面显示在iframe中,我想删除特定的html。我想在(html)代码中执行的操作: 如果(self==top){/*最好的方法是将可能隐藏在元素中的html放入元素中,然后根据您是否在iframe中显示/隐藏该元素 <head> <script> if(self===top) { /* <- This detects that the page is not displayed in an iframe*/

如果我的页面显示在iframe中,我想删除特定的html。我想在(html)代码中执行的操作:



如果(self==top){/*最好的方法是将可能隐藏在元素中的html放入元素中,然后根据您是否在iframe中显示/隐藏该元素

<head>
    <script>    
       if(self===top) { /* <- This detects that the page is not displayed in an iframe*/
          document.getElementById('HideIfIframe').style.display = 'block';
       }
    </script>
</head>
<body>
    This will always show.
    <div id="HideIfIframe" style="display: none;">This will only show when not in an iFrame</div>
    <!--Some random html here-->
</body>

如果(self==top){/*使用
if(self==top)
方法,或者更好的
if(self==parent)
,您可以检查页面是否位于
中,然后删除所需的元素

要实现此行为,您需要一些可区分的id或类来查找要删除的元素,并在它们之后加载脚本,因此可能在您的正文末尾

下面是一个例子: 在HTML页面中,您将向不希望在框架中显示的元素添加一些类,如下所示:

<body>
    <div class="noframe"></div>
    <!-- I don't want this to be shown in a frame! -->

    <script src="script.js"></script>
</body>

很好。祝你好运。你有问题吗?你把javascript放在脚本标记中,而不是html。你可以在内容上添加/删除一个类,这样它就不会出现。请提供一个你想要的html示例hidden@epascarello谢谢。如果我按照你对我的div容器说的做,我可以添加什么css来完全删除里面的内容e(也可能是div)?我认为如果Rasmus Myhrberg想要隐藏多个元素,那么类会更好。@Rasmuyhrberg
GetElementsByCassName()
如果使用它,您可能希望使用for循环将新样式应用于您得到的类的每个元素。
<body>
    <div class="noframe"></div>
    <!-- I don't want this to be shown in a frame! -->

    <script src="script.js"></script>
</body>
if (self != parent) {
    var toRemove = document.querySelectorAll('.noframe');

    // Remove the elements you don't want in the iframe
    for (var i=0; i < toRemove.length; i++) {
        toRemove[i].parentElement.removeChild(toRemove[i]);
    }
}