使用javascript/jquery访问iframe的html

使用javascript/jquery访问iframe的html,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我在一个网站上工作,该网站要求用户登录在iframe中显示在我网站上的第三方网站。我试图用jQuery提取该网站的html代码,但它实际上不起作用。这是我的密码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Iframe</title> <link rel="stylesheet" type="text/css" href="style.css"

我在一个网站上工作,该网站要求用户登录在iframe中显示在我网站上的第三方网站。我试图用jQuery提取该网站的html代码,但它实际上不起作用。这是我的密码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Iframe</title>
<link rel="stylesheet" type="text/css" href="style.css">

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

$(document).ready(function(){
    console.log($("#iframe").contents().find("body"));
});

</script>
</head>

<body>
    <iframe src="https://www.google.com"></iframe>
</body>

</html>

内联框架
$(文档).ready(函数(){
console.log($(“#iframe”).contents().find(“body”);
});

在我的例子中,我使用的是谷歌,但我使用的是另一个网站。我得到的结果是-w.fn.init[prevObject:w.fn.init(0)]-但我找不到html。任何知道如何做到这一点的人?

想象一下,您的站点能够访问您包含的任何iframe的内容。你可以简单地包括facebook、gmail或任何用户登录的银行网站,然后窃取他们的个人信息。因此,默认情况下,这是严格禁止的:

不过,有一种“选择加入”技术,可以在父窗口和iframe之间进行通信。基本上,每个站点/文档都定义要传输的信息,并使用window.postMessage()方法发送:

因此,如果消息是从一方发送的

window.postMessage("hello!", "http://example.com");
它可能会被另一个收到

window.addEventListener("message", function(e) {
    console.log(e.data); // prints "hello!"
}, false); 

由于“同源策略”,您无法访问跨域iframe。这是为了防止安全漏洞。看看这个问题的答案。谢谢,你有我如何在我的代码中实现这一点的例子吗?@JohannesFlood我不是已经给了你一个(非常)简单的例子,说明你如何在iframe和父窗口之间发送和接收数据吗?