Checking user's homepage in Internet Explorer

Solution 1:

Internet Explorer makes it possible to ask it whether a given URL is the home page, it's detailed on this MSDN page. That links to this example page demonstrating the API.

Solution 2:

The code Google uses can be viewed here:

google.promos.mgmhp.isGoogleHomepage = function (a) {
    var b = !1;
    try {
        b = window.external.isGoogleHomePage()
    } catch (d) {
        if (h(a)) return !0;
        var c = google.promos.gpd(a, "mgmhp_hp_url");
        c && g.push(c);
        for (c = 0; c < g.length; c++) {
            var k = g[c];
            if (b = b || a.isHomePage(k)) return !0
        }
    }
    return b
};

They are using the proprietary isHomePage method to check if google.com is your homepage. More info here.

Solution 3:

The following css code is the culprit.

behavior: url(#default#homePage) url(#default#userData);

this is why I don't really like IE. The behavior url(#default#userData) tells the browser to store this as session information on the client side or browser memory.

More information here: http://msdn.microsoft.com/en-us/library/ms533015(v=vs.85).aspx