飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

iframe下JS跨域的方法

Author:飘易 Source:飘易
Categories:网站设计 PostTime:2012-10-31 23:43:59
正 文:
    一般情况下,浏览器是禁止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
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:C#向RichTextBox写入数据并始终显示在最下方
下一篇:中兴TD-U281移动机卡绑定的刷机解锁方法
2条评论 “iframe下JS跨域的方法”
2012-11-6 10:03:52
感谢楼主分享 不错的文章 学习了
2012-11-6 15:47:19
这个方法很棒啊,谢谢博主分享!
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号