2009年3月25日星期三

javascript 兼容 IE6、IE7、FF 的“加入收藏”

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

Firefox 的"加入收藏"代码:

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

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

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

兼容 IE6、IE7、FF 的"加入收藏"完整代码:
<?xml version="1.0" encoding="gb2312"?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>兼容 IE6、IE7、FF 的"加入收藏"</title>
  </head>
<body>
<script type="text/javascript" language="javascript">
  <!--
  function AddFavorite(sURL, sTitle)
  {
  try
  {
  window.external.addFavorite(sURL, sTitle);
  }
  catch (e)
  {
  try
  {
  window.sidebar.addPanel(sTitle, sURL, "");
  }
  catch (e)
  {
  alert("加入收藏失败,有劳您手动添加。");
  }
  }
  }
  -->
  </script>
<p>
  <a href="#" onclick="javascript:AddFavorite('http://www.cftea.com/', '千一网络 - 网页技术 永无止境');return false">加入收藏</a>
  </p>
</body>
</html>

没有评论:

发表评论