Internet Explorer 8:导航到用户主页

时间:2009-09-23 16:20:38

标签: javascript internet-explorer internet-explorer-8

我已经使用以下脚本几年了,当点击一个按钮时导航到用户主页。但是,随着IE8的启动,这不起作用,因为它显示“about:home”不再有效。

if(window.home) {
  // for everything but IE:
  window.home();
} else {
  // for IE:
  window.location = "about:home"; // IE8 will error here if the location is "about:home"
}

是否有一种新方法可以让Internet Explorer 8+导航到用户主页?该脚本必须是跨浏览器。

3 个答案:

答案 0 :(得分:0)

在位置栏中输入about:home时导航到的URI存储在注册表中

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AboutURLs

但是,IE8似乎禁用了此功能。条目Home是REG_DWORD,而不是包含主页URL的字符串值。这可能与可以在选项卡中打开多个主页的功能有关。

虽然我无法找到有关Home REG_DWORD值含义的任何文档,但可以将其更改为字符串值。然后about:home将导航到该值中指定的网址。但是,这很可能不适合您,因为这需要注册表的管理员权限。

答案 1 :(得分:0)

我想通了,虽然这个决议对我来说很奇怪:

  1. 创建一个新的CSS元素: .hpClass {behavior:url(#default #homepage)}

  2. 创建引用新CSS&amp;创建一个类名: <span id="hp" class="hpClass"></span>

  3. 全部检查IE版本并使用新对象或旧的“about:home”样式: if(window.home) { window.home(); } else { ieVer = parseFloat(navigator.appVersion.split("MSIE")[1]); if(ieVer <= 7) { window.location = "about:home"; } else { hp.navigateHomePage(); } }

答案 2 :(得分:0)

似乎我们必须使用Internet Explorer的DHTML行为......我还没有找到任何纯JavaScript解决方案。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                                        "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:ie>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Home Link - Test</title>
  <style>
  @media all {
    IE\:HOMEPAGE {behavior:url(#default#homepage)}
  }
  </style>
  <script type="text/javascript">
  function goHome() {                                   // Firefox
    if (window.home) {
      window.home();
    }
    else {                                              // IE
      if (navigator.appVersion.split("MSIE")[1] <= 7) { // IE 4-7
        window.location = "about:home";
      }
      else {                                            // IE 8
        oHomePage.navigateHomePage();
        event.returnValue = false;
      }
    }
  }
  </script>
</head>
<body>
  <ie:homepage id="oHomePage" />
  <a href="#" onclick="goHome();">Home</a>
  <!-- <input type="button" value="Navigate" onclick="fnGo()"/> -->
</body>
</html>