加为收藏:

方法1:

<a href="#" onclick="javascript:window.external.addFavorite(urls,titles)" rel="sidebar">加入收藏</a>

方法2:

function addCookie()
{
 if (document.all)
 { 
  try {window.external.addFavorite(urls, titles);} 
  catch (e1) 
  {
   try
   {window.external.addToFavoritesBar(urls,titles);}
   catch (e2)
   {alert('加入收藏失败,请您手工加入。')}
  }
 }
 else if (window.external) {window.sidebar.addPanel(urls, titles,"");}
 else {alert('加入收藏失败,请您手工加入。')} 
}

 <a href="javascript:void(0)" onclick="addCookie()">加入收藏</a>

设为首页:

方法1:

 

方法2:

 

function setHomepage()
{
 if (document.all)
 {
 document.body.style.behavior = 'url(#default#homepage)';
 document.body.setHomePage(urls);
 }
 else if (window.sidebar)
 {
  if(window.netscape)
  {
   try{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',urls);  

}

PS:

document.all 用来判断是否为IE,window.external.addFavorite是IE7以及以下版本的加入收藏夹接口,window.external.addToFavoritesBar则是IE8的接口。window.external 用于判断是否为Firefox,window.sidebar.addPanel是Firefox加入收藏夹的接口。

在某些IE7中,以上脚本可能会失效,错误原因为window.external.addFavorite元素不存在。这种情况不是由于脚本本身的不健全造成的,而是浏览器自身的Bug。通常这个问题会出现在安装过IE8,又降级到IE7的电脑上(偶的电脑没装过IE8也有这个问题)。导致该错误的原因貌似是注册表中的一个dll组件指向了错误的文件。问题的描述和解决可以参见这篇帖子 http://www.blogjava.net/xiaomage234/archive/2009/05/07/269450.html。我简述如下。

查询注册表项

查看源代码打印帮助1 HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32

如果其中默认项 (default) 为

查看源代码打印帮助1 C:\WINDOWS\system32\shdocvw.dll

说明你的IE7有bug。把该键值改为

查看源代码打印帮助1 C:\WINDOWS\system32\ieframe.dll

重启IE,即可解决问题。

posted on 2010-08-15 03:47  houbusheng123  阅读(2409)  评论(0编辑  收藏  举报