1

我想访问同一域上 iFrame 的内容。我有一个小而简单的例子,但它不起作用,我搜索问题的时间太长了:-(

这是我的代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
        $(document).ready(function(){   
            alert($('#iframeID').contents().find('#someID').html());
        });
    </script>
 </head>
<body>  
    <iframe id="iframeID" src="test.html"></iframe>
</body>
</html>

框架叫:

<div id="someID">Hello world!</div>

有人能帮助我吗 ?感谢您的帮助

马修

4

2 回答 2

1

用于.load()确保在内部搜索之前加载 iframe。

$(document).ready(function() {
    $("#iframeID").load(function(){   
        alert($(this).contents().find('#someID').html());
    });
});
于 2013-03-14T07:56:20.610 回答
1

获取iframe

console.log($('#iframeID', window.parent.document));

您需要将代码包装在其中window.load或需要将其包装在其中,.load()因为iframe在代码执行之前您的内容没有被加载。

<script>
    $(window).load(function(){   
        //alert($('#iframeID').contents().find('#someID').html());
        console.log($("#iframeID", window.parent.document).contents().find("div"));
    });
</script>
于 2013-03-14T07:58:52.433 回答