如何更改iframe中加载的网站内容?

时间:2013-08-29 16:58:22

标签: javascript jquery html iframe whitelist

我需要使用来自其他域的iframe中加载的jQuery来更改网站的内容,例如:

<html>
  <head>
  </head>
  <body>
    <iframe src="site.com/somepage.html></iframe>
    <script>
      $('iframe').find('div#message').value('hello');
    </script>
  </body>
</html>

我还添加了白名单的目标链接。 有什么帮助吗?感谢。

3 个答案:

答案 0 :(得分:0)

由于跨站点攻击/嘲讽证券,很长一段时间,在拥有不同域名的大型机浏览器(Chrome,IE,Fire)中,这是不可能的。

你可以通过代理实现这一点,通过代理,我的意思是,使用服务器端解决方案,您可以获取“site.com”生成的HTML并将其输出为您域中的HTML。

答案 1 :(得分:0)

您的脚本在运行时运行,因此找不到iframe的DOM并且会中断。你可以做的是在你的父页面上创建一个函数,如:

//On Your Parent page
function modifyIframeContent() {
     $('iframe').find('div#message').value('hello');
}

然后在加载后从iframe调用此函数。

// On Your Iframe page
window.onload = function() {
    parent.modifyIframeContent();
}

当然:您的iframe必须与此作品具有相同的域名。

答案 2 :(得分:0)

如果你想获得一个不同域名的网站,你必须在你的服务器端使用解析器,它将从网站解析html,然后将解析后的html回应到你的客户端