JQuery Access iFrame同域

时间:2013-03-14 07:50:20

标签: jquery iframe

我希望在同一个域上访问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>
是的,有人能帮帮我吗? 谢谢你的帮助

马修

2 个答案:

答案 0 :(得分:1)

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

$(document).ready(function() {
    $("#iframeID").load(function(){   
        alert($(this).contents().find('#someID').html());
    });
});

答案 1 :(得分: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>