gpt4 book ai didi

javascript - 检查 iFrame 内容是否存在

转载 作者:行者123 更新时间:2023-11-30 16:22:26 26 4
gpt4 key购买 nike

我在 jQuery 中使用两个 if 语句,每个语句在元素主体内查找 iFrame,并在元素为空或有内容时相应地设置高度。我正在使用它来检查 DFP 是否提供了广告或者它是否提供了空白。

我有以下内容:

$('.element-paragraph').each(function(index) {
var characterCount = $(this).text().length
totalCount = totalCount + characterCount

if (totalCount > 1200) {
totalCount = 0;
var feedData = "pos" + adUnit.toString();
var advertInsert = '<div id=' + feedData + ' class="inline-ad big-box-300x250 border-bottom-" data-mobile-display="" data-desktop-display="" data-ad-type="' + feedData + '" style=""></div>'
var ad_script = '<script type="text/javascript">googletag.cmd.push(function() { googletag.display("' + feedData + '"); });</script>';
$(this).append(advertInsert)
$(this).append(ad_script);

adUnit++;

if ($("#" + feedData).contents().find("iframe").find("body").length > 0) {
console.log("Advert found for unit" + feedData)
$("#" + feedData).css("height","350");
}

else {
console.log("Advert not found for unit" + feedData)
$("#" + feedData).css("height","0");
}
}
});

内容嵌套如下:#id > iFrame > div > div > #document > html > 正文

它似乎没有正确检查 iFrame 中正文的长度。如果我删除 else 语句,它会正确调整高度,但这样做是针对循环中运行的每个广告,而不仅仅是它为其找到内容的广告。

最佳答案

您应该使用 .contents() 来显示 iframe 文档。

$("#iframe_container").find("iframe").contents().find("body")

在你的情况下:

$("#" + feedData).find("iframe").contents().find("body").contents().length > 0

因为空的 iframe 确实有 body

关于javascript - 检查 iFrame 内容是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34552135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com