Javascript 如果在iframe中删除html
如果我的页面显示在iframe中,我想删除特定的html。我想在(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*/
如果(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想要隐藏多个元素,那么类会更好。@RasmuyhrbergGetElementsByCassName()
如果使用它,您可能希望使用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]);
}
}