How to check if iframe is empty/null/undefined?

前端 未结 2 832
猫巷女王i
猫巷女王i 2020-12-20 23:21

This doesn\'t work:

if(document.getElementById(\"iframe\").innerHTML==\'\'){

Is there a safe browser reliable way to check an iframe if its

2条回答
  •  情歌与酒
    2020-12-21 00:11

    Well if you can use jQuery, check it's length property. This is cross-browser compatible. If it's zero, it doesn't exist. Something like this:

    if(!$("#iframeid").length) {
        // iframe doesn't exist
    }
    

    EDIT:

    After seeing your comments on your question:

    If you want to check if no page loaded inside iframe, and the iframe is not cross-domain you could check for the existence of the body tag inside of the iframe. If it exists, then something loaded.

    Something like this:

    if($("#iframeid").contents().find("body").length) {
        // some html page loaded in iframe
    }
    

    If the iframe is cross-domain, you will be blocked by the same-origin policy. Otherwise this will work.

提交回复
热议问题