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