JavaScript 跨域修改iframe里的样式,或者获取iframe里的html代码

JavaScript 怎么跨域修改iframe里的样式,或者获取iframe里的html代码。
我想把iframe里的图片大小修改一下。但是iframe里的页面不在同一域。有办法吗?谢谢!

阅读 22.4k
5 个回答

父页面: 使用postMessage发送需要修改的信息。
子iframe: 监听onmessage 事件,修改自身的样式。

如果两个网站都在你的控制之下,还是有可行的方案的。
如果你不能控制iframe,那不行。

看iframe 是否在你的控制范围,如果是那就可以操作,可以通过postMessage的方式去调用iframe里面的代码

同意楼上,如果我在我的网站上写上如下代码,你的浏览器又自动保存填写了密码,岂不是很危险。所以要两个域名都在你的控制之下,被访问的那个域名告诉浏览器允许另一个域名可以访问自己的内容

win = window.open("https://segmentfault.com");
var inputs = win.doucment.getElementsByTagNmae("input");
// send(inputs);
新手上路,请多包涵

嵌入的网站不是一个域名下的,会有跨域问题。除非那个嵌入的网站开发者你们合作,你发一个请求他接收到,然后根据你提供的信息去显示,才有可能。正常你要是想嵌入一个外部网站是没有修改的可能的。因为浏览器的安全限制。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题