使用JavaScript或jQuery检查iframe页面是否包含内容

使用JavaScript或jQuery检查iframe页面是否包含内容,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我正在动态创建一个iframe标记,从页面中提取内容,如何在显示之前检查我从中提取的页面是否包含内容?我应该在生成iframe标记之前先检查内容吗 如何检查iframe页面是否为“”,因此不显示“adContainer” 这里有一些我到目前为止写的代码 function setAttributes(el, attrs) { for(var key in attrs) { el.setAttribute(key, attrs[key]); } } // set ad iframe

我正在动态创建一个iframe标记,从页面中提取内容,如何在显示之前检查我从中提取的页面是否包含内容?我应该在生成iframe标记之前先检查内容吗

如何检查iframe页面是否为“
”,因此不显示“adContainer”

这里有一些我到目前为止写的代码

function setAttributes(el, attrs) {
  for(var key in attrs) {
    el.setAttribute(key, attrs[key]);
  }
}

// set ad iframe
function setAdiFrame(iWidth, iHeight, bookname) {
  var randNum = Math.floor(Math.random()*1000000000);
  var adFrame = document.createElement('IFRAME');
  setAttributes(adFrame, {
    "src": "http://www.foo.com/" + bookname + "/;cat=" + bookname + ";sz=" + iWidth + "x" + iHeight + ";ord=" + randNum,
    "height": iHeight,
    "width": iWidth,
    "border": "0",
    "scrolling": "no",
    "allowtransparency": "true"
  });
  $('.ad').append(adFrame);
}

// ad container
var adContainer = $('.ad-container');
// check if ad container exist
if(adContainer.length > 0) {
  // check if it's mobile
  if(categorizr.isMobile) {
    setAdiFrame(300, 400, 'bookname');
  // otherwise, show desktop ad
  } else {
    setAdiFrame(728, 660, 'bookname');
  }
  // show ad once iframe page is loaded
  adContainer.find('iframe').on('load', function() {
    adContainer.css('display', 'block');
  });
}
adContainer的输出标记也是如此

<div class="ad-container" style="display: block;">
    <div class="ad">
        <a id="close" href="button:close"></a>
            <iframe src="http://www.foo.com;bookname/;cat=bookname;sz=728x660;ord=849890967" height="660" width="728" border="0" scrolling="no" allowtransparency="true"></iframe>
    </div>
</div>


IFrame页面的src中输出的html可以是“
”。如果是这种情况,我不想显示adContainer。

为什么不能让XHR填充div?否则这可能会有帮助:你想检查什么类型的内容?@PaulNikonowicz不知道XHR是什么,我有点像JS noob。我的iframe页面将返回“”而不是空白,我如何检查它而不是空白?上述条件不起作用?尝试
adContainer.contents()=''
然后尝试发出警报
adContainer.contents()
无论显示什么,都要与之匹配!我已经更新了我的问题,也许这有助于更好地理解我的问题。我编写了
adContainer
,而不是
adFrame
,将其更改为
adFrame.contents()。查找(“body”)
这将返回一个body对象,您可以在控制台中检查它,也可以向它发出警报。获取后,您可以检查body标记中是否有任何内容
if(adFrame.contents().find("body").html()=="") {
    adContainer.css('display', 'none');
}