[javascript] Internet Explorer에서 사용자 홈페이지 확인

Google은 홈페이지를 google.com으로 설정할 것인지 묻는 팝업을 표시합니다. OK라고 말하면 google.com으로 설정됩니다. 그러나 그 후에는 더 이상 팝업이 표시되지 않습니다. 내가 아는 한, 개인 정보이기 때문에 아무도 내 홈페이지의 가치를 검색 할 수 없어야합니다. 그러나 어떻게 든 Google이 그것을 추적하고 있습니다. 홈페이지를 다른 사이트로 설정하면 팝업이 다시 나타납니다. 쿠키를 삭제 했는데도 홈페이지를 다른 사이트로 설정 한 경우에만 표시됩니다.

IE8 및 IE9에서이 동작을 테스트했습니다. 팝업은 Firefox 및 Chrome에 표시되지 않습니다.



답변

Internet Explorer를 사용하면 지정된 URL이 홈 페이지인지 여부를 물어볼 수 있습니다. 이 MSDN 페이지 에 자세히 설명되어 있습니다. API를 보여주는 이 예제 페이지로 연결됩니다 .


답변

Google에서 사용하는 코드는 다음에서 볼 수 있습니다.

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
};

그들은 google.com이 귀하의 홈페이지인지 확인하기 위해 독점적 인 isHomePage 메소드를 사용하고 있습니다. 여기에 더 많은 정보가 있습니다.


답변

다음 CSS 코드가 범인입니다.

동작 : url (# default # homePage) url (# default # userData);

이것이 내가 IE를 정말 좋아하지 않는 이유입니다. 비헤이비어 url (# default # userData)은이를 클라이언트 측 또는 브라우저 메모리에 세션 정보로 저장하도록 브라우저에 지시합니다.

자세한 정보 : http://msdn.microsoft.com/en-us/library/ms533015(v=vs.85).aspx


답변