2

次のタイプのリファラー ハックを使用して、リファラー情報を IE の Javascript 経由でポップアップ ウィンドウに渡すコードに出くわしました。

    var targetName = "linkTarget";
    _win = window.open("", targetName, 'width=800,height=480,resizable=yes,status=yes,location=yes,toolbar=no');

    var _link;
    if (!document.getElementById("referrerHackLink")) {
        _link = document.createElement('a');
        _link.id = "referrerHackLink";
        document.body.appendChild(_link);
    }
    else {
        _link = document.getElementById("referrerHackLink");
    }

    _link.target = targetName;
    _link.href = url;
    _link.click();

HTTP リファラーと IE7 および IE8

http://webbugtrack.blogspot.com/2008/11/bug-421-ie-fails-to-pass-http-referer.html

興味深いことに、特定の URI (localhost を含む) でそのメソッドを使用しようとすると、IE9 と IE10 はポップアップ ウィンドウをぼかし、メイン ウィンドウでターゲット URL に移動します。

ここで例を見つけることができます: http://jsfiddle.net/geoffreymoller/JKXzk/

ローカルホストのバージョンがポップアップとターゲット情報をそのように変更する理由について何か考えはありますか?

4

1 に答える 1

0

_win = window.open("", targetName, 'width=800,height=480,resizable=yes,status=yes,location=yes,toolbar=no');

IEのウィンドウ名は次のような名前に限定されていると思います。_self, _top, _blank, etc... 結果として、予想されるリストとは異なる名前は次のように扱われる可能性があります_self

于 2013-01-12T01:38:51.667 に答える