兼容firefox和IE8的加入收藏和设为首页代码
最近做网站的过程中发现在IE8和firefox下,不能正常执行原来可以使用的加入收藏和设为首页功能,出现的JS错误。下面贴出修改后可以运行的代码。
原来的代码是: <a href="javascript:window.external.AddFavorite('http://localhost','×××ב)">加入收藏</a>
已经测试OK的代码是:
<SCRIPT LANGUAGE="JavaScript"> <!-- function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sTitle); } catch (e) { try { window.sidebar.addPanel(sTitle, sURL, ""); } catch (e) { alert("加入收藏失败,请使用Ctrl+D进行添加"); } } } function SetHome(obj,vrl){ try{ obj.style.behavior='url(#default#homepage)';obj.setHomePage(vrl); } catch(e){ if(window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("此操作被浏览器拒绝!\n请在浏览器地址栏输入“about:config”并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为'true',双击即可。"); } var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage',vrl); } } } //--> </SCRIPT>
把以上代码先引入到网页中,然后调用
使用方法:
设为首页
使用方法:<a href="#" onclick="SetHome(this.window.location)">设为首页</a>
加入收藏
<a href="#" onclick="AddFavorite(window.location,document.title)">加入收藏</a>