【问题标题】:JQuery Get Parent URL in IFrame:iframe and its parent are in Different domainJQuery在IFrame中获取父URL:iframe及其父在不同的域中
【发布时间】:2013-11-27 16:37:32
【问题描述】:

我正在努力在 iframe 中获取 parenet URL(即浏览器中显示的 url)。我的父网站是 gslb13.aaa.com 。里面有一个 iframe,我正在其中加载我的网站 test.elasticbeanstalk.com (注​​意两者都在不同的域中) 在gslb13.aaa.com 中单击smile 链接。它将在 iframe 中加载 test.elasticbeanstalk.com

要获取我尝试使用的父 url

var url = (window.location != window.parent.location) ? document.referrer: document.location;
alert(url);

我在 test.elasticbeanstalk.com 的索引页面中获取父 URL(加载时)。 那么:

1) 我点击了 test.elasticbeanstalk.com 中的“添加”按钮进入下一个视图

2) 在 add.jspx 中重复相同的代码,得到相同的父 URL

但不幸的是,我得到了 test.elasticbeanstalk.com 的 URL(非父 URL:gslb13.aaa.com)

任何人都可以建议我处理这个问题的方法吗?

【问题讨论】:

    标签: javascript jquery html iframe


    【解决方案1】:

    使用

    document.referrer;
    

    Refer This

    【讨论】:

    • @user1575713 这是因为当您在站点中加载新页面时,前一页将成为引荐来源。您可以将查询字符串附加到索引页面上的链接以存储初始引荐来源网址
    • @Brian: 是的..我同意你的看法..但是我在每个视图中有 8 个这样的按钮,在所有地方附加查询字符串会造成混乱。我想知道有没有办法即使我在 iFrame 中也能获取当前浏览器 URL?JQuery 没有按预期进行吗?
    • @user1575713 真的不是 jquery 问题。您也许可以添加一个通用脚本来拦截您的链接并附加 iframe 引荐来源网址。
    【解决方案2】:

    你不能。

    同源安全规则禁止它。 http://en.wikipedia.org/wiki/Same-origin_policy

    你需要在get请求中传递父页面的URL,否则没有可靠的方法来获取“父”的url。

    你需要这样的 iframe:

    <script type="text/javascript">
    url = encodeURIComponent(document.location.href);
    document.write('<iframe src="http://test.elasticbeanstalk.com/something.php?refer='+url+'"></iframe>');
    </script>
    

    【讨论】:

    • 父网站不受我控制。所以我不能在那里写任何代码
    猜你喜欢
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    相关资源
    最近更新 更多