当前位置: 代码迷 >> Web前端 >> IE和FF上都兼容的加入收藏的代码
  详细解决方案

IE和FF上都兼容的加入收藏的代码

热度:56   发布时间:2012-10-25 10:58:57.0
IE和FF下都兼容的加入收藏的代码

很老的代码了。随便记下

很早就发现传统的加入IE收藏夹的代码在Firefox下是无效的。

?

今天浏览im286,发现讨论两者兼容的代码,调试后,发现可行:)

第一段:


<script>
function addfavorite()
{
? if (document.all)
? {
? ? ?window.external.addFavorite('http://www.9enjoy.com','9Enjoy');
? }
? else if (window.sidebar)
? {
? ? ?window.sidebar.addPanel('9Enjoy', 'http://www.9enjoy.com', "");
? }
}?
</script>
<a href="#" onclick="addfavorite()">把本博客加入收藏</a>


下面一段更严谨,IE6,IE7,FF均通过。

<html>
<head>
<title>加入收藏</title>
<script language="JavaScript" type="text/javascript">
function JSAddFavorite()
{

? ? ? ?if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) )

? ? ? ?{

? ? ? ? ? ? ? ?// ?firefox

? ? ? ? ? ? ? ?window.sidebar.addPanel( '9Enjoy, 'http://www.9enjoy.com/', '' );

? ? ? ?}

? ? ? ?else if ( document.all && "object" == typeof( window.external ) )

? ? ? ?{

? ? ? ? ? ? ? ?// ?ie

? ? ? ? ? ? ? ?window.external.addFavorite( 'http://www.9enjoy.com/', '9Enjoy' );

? ? ? ?}

}

</script>
</head>

<body>
<a href="javascript:JSAddFavorite();" title="加入收藏">加入收藏</a>
</body>
<html>



原文:http://www.im286.com/thread-2029185-1-2.html

自己根据后面一段更改了一下,实现收藏当页的功能。


<script type="text/javascript">
function JSAddFavorite(){
?if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) ){
? ?// ?firefox
? ?window.sidebar.addPanel( document.title, document.location.href, '' );
?}else if ( document.all && "object" == typeof( window.external ) ){
? ?// ?ie
? ?window.external.addFavorite( document.location.href, document.title );
?}
}
</script>
<a href="javascript:JSAddFavorite()">添加到收藏夹</A>




PS:刚给同事发了本页,他就问有没有FF下设为首页的代码。。。
搜索了一下,发现因为Firefox的安全机制问题,默认是无法通过代码来实现设为首页的,因此就算了吧。相关文章:http://www.itlearner.com/article/2007/3773.shtml

PS2:发现在FF下添加后,在书签中打开,是在侧边栏打开的。。。而且没有解决方案。
官方的文档中也没提到:http://developer.mozilla.org/en/docs/DOM:window.sidebar