使用Javascript引用者hack的IE弹出目标定位问题

时间:2013-01-04 00:35:53

标签: javascript internet-explorer popup referrer

我遇到了一些使用以下类型的引用来破解的代码,通过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 Referrer and IE7 and 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/

有关localhost版本为何可能更改弹出窗口和目标信息的任何想法?

1 个答案:

答案 0 :(得分:0)

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

我认为IE中的窗口名称仅限于_self, _top, _blank, etc...之类的名称,因此任何与预期列表不同的名称都可能被视为_self