iframe的跨域问题

参考  http://www.cnblogs.com/pigtail/archive/2013/01/24/2875310.html;

实现过程a.html、c.html在一个域名

b.html在自己的一个域名

用iframe

a.html   嵌入b.html     b.html中嵌入c.html

因为a.html和c.html在同一个域名 所以a和c可以通信.

b.html  <iframe src="xxxx/c.html?=" +userinfo> 即可把b.html 中想要传递的内容交给c  再由c解析url,获得值后传递给a

c.html中 parent.parent即可访问a.html中的标签和js方法

还可以使用 window.name进行跨域,这2种方法都需要一个无关的c.html

时间: 2024-10-08 16:17:32

iframe的跨域问题的相关文章

使用 &lt;Iframe&gt;实现跨域通信

什么是iframe iframe就是我们常用的iframe标签:<iframe>.iframe标签是框架的一种形式,也比较常用到,iframe一般用来包含别的页面,例如我们可以在我们自己的网站页面加载别人网站或者本站其他页面的内容. iframe的用法有很多,接下来说一下iframe的其中一个比较实用的用法----跨域通信 假设现在有两个系统A,B:A系统的某个页面有一部分显示的内容是B系统的,怎么办? <div class="modal-body" id="

iframe显示跨域url页面

可以通过JS搞定跨域问题,但是比较麻烦,我就在后台处理了,其实这样本质上也算不上是跨域了 后台otherwebsite.php: <?php $url="www.otherwebsite.com"; echo " <html> <head> <title></title> <meta content='0; url={$url}' http-equiv='refresh'> </head> <

iframe的跨域高度自适应(通过跨域页面中嵌套本域页面)

实习不久接到一个任务,在网页中嵌套另一个工程的网页.本以为这是轻而易举的一件事情,结果被测试姐姐折腾得够呛.多次和我谈心说到这个高度固定导致iframe出现滚动条有多么不好看,对于工程整体的影响有多么恶劣.因为跨域的原因,这个需求被拖了许久,真是很痛苦的一件事.最终在我离开公司之前搞定了这个单. 这里就把我的研究过程写下来以供大家参考. 首先需要了解一下何为同域,何为跨域: URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名

js利用form+iframe解决跨域post和get提交

JS跨域提交               ajax可以让我们对页面进行无刷新的操作,给我们前端和后台数据交互带来更多的体验,这里就不多说了,但ajax也有局限性,由于浏览器有安全机制,不 允许我们访问不同域的数据,也就是我们常说的"同源策略",大家可以去了解一下.但我们有时候又有这样的需求,下面我们浅谈一下,解决这种问题的办法. 1.jsonp格式 优点:跨域提交 缺点: 只能进行get方式访问 2.js+form+iframe+php 优点:跨域提交get和post的方式访问都是可以

使用 X-Frame-Options 防止被iframe 造成跨域iframe 提交挂掉

Refused to display 'http://www.***.com/login/doLogin.html' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. 触发原因:页面的返回头被设置 X-Frame-Options SAMEORIGIN ,只能被同源的iframe 引用.跨域名的iframe 没法显示了. 解决办法:第一步 把 服务器上的 X-Frame-Options header 去掉 第二步 添加 如下代

使用 postMessage + iframe 实现跨域通信

一.postMessage window.postMessage() 方法可以安全地实现跨源通信.通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机(两个页面的模数 Document.domain设置为相同的值)时,这两个脚本才能相互通信.window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全. 调用 postMessage() 方法时,向目标窗口派发一个

使用postMessage在不同iframe间跨域传递消息

iframe同源策略 如果父窗口访问一个不同域名的子窗口就会报错: Uncaught DOMException: Blocked a frame with origin "xxx" from accessing a cross-origin frame. 如何解决呢?一个简单的思路就是,既然是因为不同源,那么再建一个同源的窗口不久可以了吗?一个同源的子窗口能读取父窗口无法访问的子窗口的内容,然后通过postMessage传递给父窗口就可以了. //http://app1.test.lo

iframe跨域获取父页面url

iframe在跨域情况下, window.top.location.href 无法访问到. 可通过 document.referrer 访问到url,该属性是当前页面document的一个属性,记录这个页面的来源页面. 关于介绍更多的document.referrer内容: http://driftcloudy.iteye.com/blog/986265

P3P解决cookie存取的跨域问题

最近在做一个流量统计的东西的时候,偶然发现IE在对iframe里面的页面写Cookie的时候有一些安全限制,导致读取Cookie不成功,找了好长时间的解决办法,重要找到如下的办法: 1.页面里的COOKIE不能是浏览器进程的COOKIE(包括验证票和不设置超时时间的COOKIE),否则跨域会取不到.这点做跨域COOKIE的人比较少提到.不过实际上留意下几家大学做的方案,有细微的提到他们的验证模块里的COOKIE是有设置超时时间的. 2.当利用IFRAME时,记得要在相应的动态页的页头添加一下P3