如何删除仅在当前网页中的所有 `iframe` 标签?
How to remove all `iframe` tags that are only in the current webpage?
我有一个包含各种 iframe
标签的网页。
我想删除某个 iframe
在该网页上有可见内容,但我找不到它的选择器,所以我认为删除所有 iframe 会有所帮助:
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].remove();
}
然而,删除所有 iframe
标签带来了另一个问题:
每次我单击旨在打开模式(弹出窗口)的链接时,我都会得到 空白弹出窗口。
似乎通过删除我网页中的所有 iframe
标签,我已经删除了其他网页中显示为模态或 "sub-webpages" 的我的网页。
如何删除仅在当前网页中的所有 iframe
标签?
更新
我更喜欢纯香草的方式。
您可以使用 jQuery 使用的表达式来测试元素是否可见:
function isVisible(elem) {
return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
}
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
if (isVisible(iframes[i])) {
iframes[i].remove();
}
}
我有一个包含各种 iframe
标签的网页。
我想删除某个 iframe
在该网页上有可见内容,但我找不到它的选择器,所以我认为删除所有 iframe 会有所帮助:
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].remove();
}
然而,删除所有 iframe
标签带来了另一个问题:
每次我单击旨在打开模式(弹出窗口)的链接时,我都会得到 空白弹出窗口。
似乎通过删除我网页中的所有 iframe
标签,我已经删除了其他网页中显示为模态或 "sub-webpages" 的我的网页。
如何删除仅在当前网页中的所有 iframe
标签?
更新
我更喜欢纯香草的方式。
您可以使用 jQuery 使用的表达式来测试元素是否可见:
function isVisible(elem) {
return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
}
var iframes = document.querySelectorAll('iframe');
for (var i = 0; i < iframes.length; i++) {
if (isVisible(iframes[i])) {
iframes[i].remove();
}
}