在Internet Explorer中检查用户的主页

Ufu*_*arı 94 javascript internet-explorer

Google会显示一个弹出窗口,询问您是否要将主页设置为google.com.这很正常,当我说好的时候将它设置为google.com.然而,在那之后,我不再获得弹出窗口了.据我所知,没有人能够检索我的主页的价值,因为它是私人信息.但不知何故谷歌正在追踪它.当我将主页设置为其他站点时,我会收到弹出窗口.我删除了cookie,但即便如此,只有在我将主页设置为其他网站时才会显示.

我在IE8和IE9上测试了这种行为.弹出窗口永远不会出现在Firefox和Chrome中.

T.J*_*der 63

Internet Explorer可以询问给定的URL是否是主页,在此MSDN页面上详细说明.这链接到演示API的示例页面.

  • 我也遇到了这个问题.但这是因为它说`如果调用isHomePage方法的文档不在同一个域上,则isHomePage方法将始终返回false.例如,如果将www.microsoft.com设置为主页,并且您从Microsoft®Web站点上的页面调用此方法,则isHomePage方法将返回true.但是,如果您的主页设置为www.microsoft.com并且您从另一个域的页面调用此方法,则该方法将返回false.并且示例页面位于`http://samples.msdn.microsoft .com`,而不是`http:// msdn.com`. (28认同)

chr*_*hrx 26

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
};
Run Code Online (Sandbox Code Playgroud)

他们使用专有的isHomePage方法来检查google.com是否是您的主页.更多信息在这里.

  • Web开发的典型例子... view-source是你的朋友;-) (4认同)

小智 10

以下css代码是罪魁祸首.

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

这就是我不喜欢IE的原因.行为url(#default#userData)告诉浏览器将其作为会话信息存储在客户端或浏览器内存中.

更多信息:http://msdn.microsoft.com/en-us/library/ms533015(v = vs.85).aspx