日期:2014-05-16  浏览次数:20305 次

JavaScript设置“设为首页”和“收藏页面”(兼容IE和火狐浏览器)
JavaScript设置“设为首页”和“收藏页面”(兼容IE和火狐浏览器)

网上找了一大堆例子,都不满足后面的括号,汗。。。。今天终于找到了一份兼容IE8、火狐3.6++的代码了,拿出来跟大家分享一下。
(测试环境:IE8  火狐5.0)
<html>
   <head>
	 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      <title>JavaScript设置“设为首页”和“收藏页面”(兼容IE和火狐浏览器)</title>
      <script>
      //url:要收藏的链接;title:收藏项的名称
      function AddFavorite(url,title)
      {
         //如果url或者title为空,默认为当前页面url和title。
         if(!(url&&title))
         {
            url=document.URL;
            title=document.title;
         }

         if (document.all)//IE
         {
               window.external.addFavorite(url,title);
         }
         else if (window.sidebar)//火狐
         {
            window.sidebar.addPanel(title, url, "");
         }
      }

      //url:要设置为首页的链接
      function SetHomepage(url)
      {
         //如果url为空,默认为当前页面url。
         if(!url)
         {
            url=document.URL;
         }

         if (document.all)//IE
         {
            document.body.style.behavior = 'url(#default#homepage)';
            document.body.setHomePage(url);
         }
         else if (window.sidebar)//火狐
         {
            if (window.netscape)
            {
               try
               {
                  window.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
               }
               catch (e)
               {
                  alert("此操作被浏览器拒绝!请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]的值设置为'true',双击即可。");
               }
            }
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
            prefs.setCharPref('browser.startup.homepage', url);
         }
      }
      </script>
   </head>
   <body>
      <a onClick="SetHomepage('http://www.baidu.com/')" title="设为首页" href="javascript:">设为首页</a>
      <a onClick="AddFavorite('http://www.baidu.com/','百度首页')" title="加入收藏" href="javascript:">加入收藏</a>
   </body>
</html>