`

跨域下获取iframe的父页面URL

阅读更多

通常情况下,我们获取iframe父页面的url很简单:parent.location或top.location即可,但前提是它们遵循同源策略。

当iframe与父页面不属于同一个域名时,像上面的获取会因为安全策略原因而失败。在nczonline的一篇文章上看到一种方法,使用document.referrer。

 

方法很简单,通过parent !=window检测iframe与父页面是否同源,当不同源时,使用document.referrer,否则使用parent.location.href

 

function getParentUrl() { var url = null; if (parent !== window) { try {
url = parent.location.href; } catch (e) { url = document.referrer; } }
return url; }

 

当iframe是被动态创建的时候,以上方式依然有效。当然,你也可以使用window.name的方式去做处理。

分享到:
评论

相关推荐

    跨域修改iframe页面内容详解

    需要将proxy.html放到与内嵌的iframe页同域的服务下, 并且可以被访问到. 使用 支持2种调用方式: 使用 postMessage 和 URL params. postMessage 该方法需要使用 JSON.stringify 将对象转为字符串. // React function...

    使用postMesssage()实现跨域iframe页面间的信息传递方法

    1. 子页面url传参 简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数 过程非常复杂,不建议使用这种方法 2. postMessage() postMesssage()是...

    使用postMesssage()实现iframe跨域页面间的信息传递

    1. 子页面url传参 简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数 过程非常复杂,不建议使用这种方法 2. postMessage() postMesssage...

    iframe_height:跨域 iframe 高度调整

    iframe 高度是一个允许跨域消息传递的简单工具,特别是针对响应式设计调整 iframe 高度的大小。 用法 将 parent.js 文件添加到包含页面,将 child.js 添加到包含页面。 在父页面中调用: IframeResize.load(选项);...

    PHP关于IE下的iframe跨域导致session丢失问题解决方法

    今天搞的一个登录页面,被别的网站用iframe嵌进去后,死活无法登录(只在IE中存在这种情况)。 很明显,session无法被保存。但是直接在地址栏打开那个登录页面,一切都正常啊。真是奇怪啊。 在网上搜索了一下。发现...

    利用iframe实现ajax跨域通信的实现原理(图解)

    在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是...如下图所示:域a.com的页面request.html(即http://a.com/request.html)里面嵌套了一个iframe指向域b.com的response.html,而response.html里

    JS控制静态页面传递参数并获取参数应用

    在a页面需要获取到b页面的一些元素甚至变量,以便于应用到a页面。 注意:不涉及跨域问题。 想了很久,终于想到了解决方案。 第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面...

    跨域表单提交状态的变相判断代码

    通过表单在iframe内向一个跨域的url提交的时候,如何判断提交成功了呢?这个,基本上,很难,因为浏览器安全沙箱的限制,我们没有办法通过获得iframe内部不同域页面的信息。

    JS控制静态页面之间传递参数获取参数并应用的简单实例

    在a页面需要获取到b页面的一些元素甚至变量,以便于应用到a页面。 注意:不涉及跨域问题。 想了很久,终于想到了解决方案。 第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面代码:...

    IBM WebSphere Portal门户开发笔记01

    43、IFRAME WINDOW、DOCUMENT获取与其他 320 44、CSS Z-INDEX 取值范围 320 45、CSS背景图片与内容放大与缩小时相对定位 321 46、JS ATTACHEVENT与ADDEVENTLISTENER区别 321 47、JS WINDOW.EVENT.CANCELBUBBLE 事件...

    YodPHP 1.4.1.zip

    部分服务器获取当前url异常情况兼容处理;tar解压,文件名过长兼容处理(路径大于100字符处理);图片预览大图处理;生成多级缩略图;权限组开启了文件下载权限,对应开启外链功能;ace更新到1.29,支持emoji;emmt...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    ajax操作-伪ajax(iframe) ajax操作-时机选择 文件上传(3种方式)-1 文件上传-时机选择及预览-2 图片验证码 KindEditor基本使用和文件操作 作业 第25周 今日内容概要 博客系统示例预览 组合搜索组件 JSONP跨域...

Global site tag (gtag.js) - Google Analytics