Jquery iframe单击事件以更改位置/URL(跨域但控制两个域)

Jquery iframe单击事件以更改位置/URL(跨域但控制两个域),jquery,iframe,proxy,cross-domain,cross-domain-policy,Jquery,Iframe,Proxy,Cross Domain,Cross Domain Policy,我在一个网站上工作,这个网站由主网站以外的网站组成,然后是活动网站 这些活动位于单独的域中(但我可以访问这两个域) 活动通过iframe拉入主站点,每个iframe将包含主站点菜单(通过代理将其拉入活动站点) 我需要的是,如果单击主导航上的链接,实际的浏览器位置将改变,而不仅仅是iframe。这样浏览器的URL就会改变,用户实际上会使用iframe离开页面 我知道同源策略,这就是为什么我遇到这么多麻烦的原因——但由于我可以控制这两个策略,并且可以修改每个策略上的脚本,我想一定有办法解决这个问题

我在一个网站上工作,这个网站由主网站以外的网站组成,然后是活动网站

这些活动位于单独的域中(但我可以访问这两个域)

活动通过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;
    });
});
但不管它位于哪个域,它似乎都不起作用。。非常感谢您的指点/帮助/建议


安迪

它不应该是
窗口。家长
而不仅仅是
家长
?从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');
  }
}
var links=document.getElementsByTagName('a');

对于(VarI=0;我谢谢你,先生-我刚刚修改了“window.parent…”和“voila-works”