我正在尝试获取iframe html,但返回undefined为什么?
<html>
<head>
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
</head>
<body>
<iframe src="http://opsukrat.in/iframe.html" id="iframe"></iframe>
<button onclick="check_html()">Hit me</button>
<div id="contents">HTML</div>
<script>
function check_html() {
var iframeContents = $('#iframe').contents().find('html').html();
console.log(iframeContents);
$('#contents').html('HTML: ' + iframeContents);
}
</script>
</body>
</html>
字符串
如果我正在创建文件在我的服务器比试图得到比工作
第一个月
1条答案
按热度按时间lf5gs5x21#
这里的问题是,在最后调用
html()
会导致您尝试重写iframe的内容,并且该方法返回undefined,因为将内容重写到标记上应该返回undefined。你可以试试:
var iframeContents = $('#iframe').contents().find('html');
或:
var iframeContents = document.getElementById("iframe").contentWindow.document.body.innerHTML;
只要确保你调用iframe的页面托管在同一个网站上,或者如果你的网站有same-origin policy,你可能会面临跨域问题。