加为收藏:
方法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,即可解决问题。