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 に答える