0

我正在一个包含主站点之外的站点上工作 - 然后是分支站点。

这些广告系列位于一个单独的域中(但我可以访问两者)。

活动通过 iframe 拉入主站点,每个 iframe 将包含主站点菜单(通过代理将其拉到活动站点)。

我需要的是,如果单击主导航上的链接,则实际浏览器位置将发生变化,而不仅仅是 iframe。这样浏览器的 URL 就会发生变化,用户实际上会使用 iframe 离开页面。

我知道相同的来源政策,这就是为什么我遇到这么多麻烦 - 但是因为我可以控制两者并且可以修改每个我认为必须有办法解决这个问题的脚本?

我一直在尝试像

    $(function(){
    $('#menu a').click(function(){
        var linkLocation = $(this).attr('href');
        //parent.location.href=linkLocation
        parent.location.replace(linkLocation)
        return false;
    });
});

但无论其放置在哪个域上,它似乎都不起作用。非常感谢任何指针/帮助/建议。

安迪

4

1 回答 1

1

不应该是window.parent而不仅仅是parent吗?从 iframe 内部你应该能够做到window.parent.location = linkLocation;

编辑: 你也可以选择做

var links = document.getElementsByTagName('a');
for (var i=0; i<links.length; i++) {
  if (links[i].href.indexOf('javascript:') == 0 || links[i].href.indexOf('mailto:') == 0) {
  }
  else {
    $(links[i]).attr('target', '_parent');
  }
}
于 2011-02-25T18:22:36.150 回答