首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相当于FF和IE中的“window.location.ancestorOrigins”

相当于FF和IE中的“window.location.ancestorOrigins”
EN

Stack Overflow用户
提问于 2016-01-12 11:44:29
回答 4查看 9.8K关注 0票数 12

下面是Google版本,用于从iFrame获取父窗口的URL。

window.location.ancestorOrigins;

我正在寻找相当于上述声明的FireFox和IE。是否有可能做到这一点。

尝试与document.referrer也只提供iFrame网址。

EN

回答 4

Stack Overflow用户

发布于 2019-06-26 20:30:37

不幸的是,FireFox和IE没有与ancestorOrigins等价的功能。

获得父URL的最佳方法是document.referrer,不幸的是,如果您正在处理iframes,这意味着您可能无法访问外部页面并获得网页的真实网址。

票数 4
EN

Stack Overflow用户

发布于 2022-07-21 11:45:20

我做了这样的事:

代码语言:javascript
运行
复制
function getAncestorOrigins() {
  if (location.ancestorOrigins !== undefined) {
    return [...location.ancestorOrigins];
  }
  const urls = [];
  let parentWin = window;
  while (parentWin !== window.top) {
    if (parentWin.document.referrer) {
      try {
        const url = new URL(parentWin.document.referrer);
        urls.push(url.origin);
      } catch (e) {
        // console.error
      }
    }
    // @ts-ignore
    parentWin = parentWin.parent;
  }
  return urls;
}
票数 1
EN

Stack Overflow用户

发布于 2022-04-08 10:04:28

我找到了另一种解决方案。这对我有用..。

代码语言:javascript
运行
复制
var url = window.location != window.parent.location ? 
           document.referrer :
           document.location.href;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34742800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档