现在的位置: 首页 > 综合 > 正文

javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”

2013年01月23日 ⁄ 综合 ⁄ 共 1648字 ⁄ 字号 评论关闭

IE6、IE7 的“加入收藏”代码:

window.external.addFavorite(sURL, sTitle);
说明:
addFavorite 的第一个字母a不是大写!纵然微软参考上是大写,但“事实胜于雄辩”。

Firefox 的“加入收藏”代码:

方法一、
<a href="http://blog.csdn.net/pengyouchuan/" title="YCPENG's blog" rel="sidebar">加入收藏</a>
关键在于 rel="sidebar";href 属性值作为收藏网址;title 作为收藏名称。

方法二、
window.sidebar.addPanel(sTitle, sURL, "");
第一个参数是收藏名称;第二个参数是收藏网址;第三个是自定义 Tab 所需的 URL,为零长度字符串即可。注意参数顺序与 addFavorite 不同。我们推荐第二种方法。

不论哪一种方法,加入收藏夹后,单击收藏的项目都是在侧边栏(sidebar)中打开网页,要在主窗口中打开只有两种办法:法一是右键打开;法二是右键改其属性。这不能不说是 Firefox 收藏夹的遗憾。

兼容 IE6、IE7、FF 的“加入收藏”完整代码:

  1. <script type="text/javascript" language="javascript">
  2. function AddFavorite(sURL, sTitle) {
  3.     try {
  4.         window.external.addFavorite(sURL, sTitle);
  5.     } catch (e) {
  6.         try {
  7.             window.sidebar.addPanel(sTitle, sURL, "");
  8.         } catch (e) {
  9.             alert("加入收藏失败,请手动添加.");
  10.         }
  11.     }
  12. }
  13. function setHomepage(pageURL) {
  14.     if (document.all) {
  15.         document.body.style.behavior='url(#default#homepage)';
  16.         document.body.setHomePage(pageURL);
  17.     }
  18.     else if (window.sidebar) {
  19.         if(window.netscape) {
  20.             try {
  21.                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  22.             }
  23.             catch (e) {
  24.                 alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项signed.applets.codebase_principal_support 值该为true" );
  25.             }
  26.         }
  27.         var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
  28.         prefs.setCharPref('browser.startup.homepage',pageURL);
  29.     }
  30. }
  31. </script>
  32. <a href="javascript:setHomepage('url');">设为首页</a>
  33. <a href="#" onclick="javascript:AddFavorite('url', 'sitename');return false">加入收藏</a>

抱歉!评论已关闭.