iframe下JS跨域的方法

浅谈获取DOM的解决方案——document.domain、window.name、window.postMessage 如果两个网页不同源,就无法拿到对方的DOM。典型的例子是iframe窗口和window.open方法打开的窗口,它们与父窗口无法通信。 获取DOM的解决方案: (1)如果两个窗口一级名相同,只是二级名不同,那么设置document.domain属性,即可获取DOM。 (2)否则,可以通过window.name和window.postMessage获取DOM 2- 阅读详情
正 文:
    一般情况下,浏览器是禁止JS跨域操作的,这对于iframe调用其他域名下的页面一样是禁止的,在iframe里如果我们想操作父级或子级页面里的dom对象就不行了,如何解决呢?

     浏览器虽然会禁止js跨域访问页面中的对象,但对于iframe的层级关系引用并没有做限制,即parent仍然可用;该方案就是利用了2层内嵌 iframe、使用第二级iframe中的页面与parent.parent的页面是同域名的关系,从而避免跨域问题实现两个页面间相关数据的传递,本质上就是利用parent.parent实现对父父页面中js的回调!

    具体操作流程:
1、A.com的index.htm页面包含一个iframe,src指向 B.com 下的sub-index.html
2、B.com 域名下的 sub-index.htm页面中再内嵌一个隐藏的iframe,iframe的src指向 A.com 域名下的页面pass.html?p=xx, pass.html页面只是用来传递sub-index.htm页面加载完之后需要传递的参数,pass.html页面里js拿到获得p参数的值后直接调用  parent.parent.document.getElementById("content").value=p;  完成对父页面dom值的设置;
iframe下JS跨域的方法

参考资料:
1,优雅绝妙的Javascript跨域问题解决方案:
http://blog.csdn.net/sfdev/article/details/5807045
2,Javascript跨域访问解决方案:
http://blog.csdn.net/sfdev/article/details/3887006
JS访问IFrame问题的解决方法 同源策略是浏览器的一个核心安全机制,它防止不同源的文档或脚本之间的相互干扰。所谓“源”通常由协议、名和端口号共同决定。当两个URL的协议、名和端口号都相同时,它们才被看作是同源的。源资源共享(Cross-Origin Resource Sharing,简称CORS)是一种网络浏览器的安全策略,允许服务器在响应HTTP请求时指定哪些可以从其接收请求。CORS通过在HTTP头中添加新的字段来实现请求,允许服务器声明哪些来源可以访问资源,从而允许或拒绝来自不同源的请求。 阅读详情

相关推荐

解决JS访问IFrame的解决方案

通过HTTPClient界面在JSP中嵌入iframe子界面时,无法获取界面的属性值的问题

JS应用】Iframe 解决

的东西, 简直不要接触太多,网上相关内容一抓一大把,但是突然学习到一个关于前端解决的方式 就是 利用 iframe 不管你有没有了解过,反正我没有 我觉得很有用并且容易忘,所以我记录下来哈哈哈 下面会分三块内容进行描述 1、基本原理 2、简单模拟 2、封装的函数 3、封装函数实战 如果觉得排版不好看,可以看原版【JS应用】Iframe 解决,或者拉到最后关注公众号吧 解决场景 现在我们在http://a.com的名下有一个页面 我们要请求http://b...

dong123ohyes的专栏 5255

js调用-嵌入iframe

js调用-嵌入iframe,测试JS之间的调用关系

jsiframe之间交互

1.父页面调用子页面 直接通过iframe的url?param=abc 方式,把值传到子页面. https://www.cnblogs.com/sydeveloper/p/3712863.html 2.子页面调用父页面 通过parent https://blog.csdn.net/u012374381/article/details/79578311 3. window.po...

kaige8312的博客 1658

JavaScript实现内嵌的iframe调用父页面js方法

源码下载 功能说明:http://www.yf3.com/admin.html嵌套页面http://www.yf4.com/customer.html,http://www.yf4.com/customer.html调用http://www.yf3.com/admin.html中的js方法,在http://www.yf3.com/admin.html中创建菜单 http:/

ASP.NET 1万+

JS(ajaxiframe)解决方法及原理详解(jsonp)

JS(ajaxiframe)解决方法及原理详解(jsonp)

weixin_45866907的博客 82

iframe js 加载失败_js处理的8种方法

这里说的js是指通过js在不同的之间进行数据传输或通信,比如用ajax向一个不同的请求数据,或者通过js获取页面中不同的框架中(iframe)的数据。只要协议、名、端口有任何一个不同,都被当作是不同的。特别注意两点:#1、如果是协议和端口造成的问题“前台”是无能为力的;#2、在问题上,仅仅是通过“URL的首部”来识别而不会去尝试判断相同的ip地址对应着两个或两个...

weixin_42638139的博客 1796

利用iframe另类方法绕过js问题

我想大家都遇到过javascript问题,话不多说,直接开始业务场景。   项目1中需要使用文件上传,上传到文件上传下载服务器,上传完成后,使用使用js讲上传完成的图片路径放入页面的input中,提交给后台。   很简单的要求,主要是局部刷新但是和掺和一下,就比较麻烦了。   主要问题在于: 1.使用ajax不能提交给非当前名(问题),所以ajax方案完全不能使用 2...

天都明河 3830

IFrame处理方法-Javascript

原文:http://www.cnblogs.com/ranran/p/jquery_iframe.html IFrame处理方法-Javascript 在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一下的ajax请求;但是如果请求是发生在不同的下,请求就无法执行,并且会抛出异常提示不允许请求,目前我没有找到明确的资料说明这是为什么,我觉

每天进步一点点 1390

解决调用Iframe引入访问页js方法问题

Js问题是web开发人员最常碰到的一个问题之一。所谓js问题,是指在一个下的页面中通过js访问另一个不同下的数据对象,出于安全性考虑,几乎所有浏览器都不允许这种访问,这就导致在一些ajax应用中,使用的web service会成为一个问题。 本文章所介绍的用...

weixin_34218579的博客 1005

driver.get调用iframe中的页面_前端中的js方法

在我们参加前端培训学习的时候一定会讲到JS相关的知识,那么我们一定会学习到里边的js访问的知识,这是一个比较现实也是很实际的一个问题,这个问题除了参加前端培训会讲到,在实际工作中也会涉及。那么如何去解决JS问题?怎么在前端培训班学好前端呢?JavaScript是指通过JS在不同的之间进行数据传输或通信,比如用ajax向一个不同的请求数据,或者通过JS获取页面中不同的框架中(ifr...

weixin_39597636的博客 201

iframe页面访问parent的方法

实例: 如上图所示,系统www.a.com/index.html页面中嵌入一个iframeiframe中访问不同的www.b.com/index.html 然后b中有个按钮“保存”,想调用父页面a.com/index.html中的一个js方法saveFavorite() 问题: iframe和父页面如果是同一个的,那问题很好办,直接parent.saveFavorite()即可。 但问题难在是不同,不同是不允许相互访问js代码的。 解决方案: 的问题,也有不少..

高先生的猫 4049

子页面iframe执行父页面定义的JS方法

问题需求:父页面与子页面iframe嵌套,子页面要触发父页面所定义的js方法、父子页面的数据传递。 下文中会用到一些文件:父页面:parent.html嵌在父页面的子iframe页面:child.html 同iframe 调用父页面的JS方法 在同的情况下,子iframe页面可以很方便地直接调用父页面定义的JS方法:window.parent.fn();或者wind...

weixin_33862041的博客 1076

iframe访问父框架js方法

iframe访问父框架js方法 条件 1.不在同一个主下 2.iframe调用父框架方法 环境说明 父框架有打开TAB页方法,但是子页面嵌入的是其他系统页面,同样需要打开TAB页。 方法描述 原理上就是通过子页面嵌入父框架页面来使用调用方法 父框架桥连页面 1 @{ 2 ViewBag.Title = "桥连"; 3 Layou...

weixin_30284355的博客 178

【转】JS(ajaxiframe)解决方法及原理详解(jsonp)

【转】JS(ajaxiframe)解决方法及原理详解(jsonp)

dearbaba_11的博客 96

Unity WebGl和前端(Angular)相互调用(含问题)

在Unity官方文档中就已经介绍了Unity和JS相互调用的问题,但是我们实际的应用中往往是使用iframe来展示WebGL。这样不但是webgl和js相互调用的问题,还包含了iframe的问题。我们的项目中前端使用的是angular框架,就以angular为基础来说一下这个问题,当然vue的前端框架应该都一样的原理。首先说一下unity和js相互调用的问题。

九本才的博客 2473
上一篇: web.xml中的url-pattern写法规则及匹配过程
下一篇: jquery 获取父窗口的元素 父窗口 子窗口
tftutu
博客等级 码龄15年 4粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值