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