2010-06-03 190 views
4

我有一个ASP.NET网页中有一个按钮。点击按钮,应该在浏览器中保存书签,当用户点击书签时,应该浏览到http://google.com使用JavaScript添加浏览器书签

如何确保它可以与几乎所有的标准浏览器一起使用,或者至少可以与IE,Mozilla Firefox,Opera和Google Chrome一起使用。

另一种情况是,我也以同样的方式创建第二个书签。但是当用户点击第二个书签时,它应该运行一段JavaScript代码。

回答

1

我写了这段代码适用于IE,Firefox和Opera(不幸的是它不适用于Google Chrome)。

function bookmark() 
{ 
    var title = 'Google'; 
    var url = 'http://google.com'; 

    if (document.all) // Check if the browser is Internet Explorer 
     window.external.AddFavorite(url, title); 

    else if (window.sidebar) //If the given browser is Mozilla Firefox 
     window.sidebar.addPanel(title, url, ""); 

    else if (window.opera && window.print) //If the given browser is Opera 
    { 
     var bookmark_element = document.createElement('a'); 
     bookmark_element.setAttribute('href', url); 
     bookmark_element.setAttribute('title', title); 
     bookmark_element.setAttribute('rel', 'sidebar'); 
     bookmark_element.click(); 
    } 
} 
+0

但是,这将(正如我已经解释的)只为Firefox添加一个边栏。不幸的是,Chrome或Safari没有任何解决方案。 – 2ndkauboy 2010-06-03 11:19:09

1

因安全原因无法完成。它曾经是可能的使用专有的IE命令,但我认为这以IE 7结束。其他人绝对不可能。

Related discussion on Mozilla Developer Central

+0

或者至少给用户添加一个书签的选项,即是否有可能要求用户的权限添加? – 2010-06-03 10:43:53

+0

@Arjun我认为这个(询问用户的许可)是现在当你在IE中调用'window.external.AddFavorite'时发生的事情。除了要求用户请按Ctrl + D之外,我知道除此之外别无它法。 – 2010-06-03 10:48:22

1

在Firefox据我所知,目前还没有的功能,增加了一个普通的书签。只有一个边栏书签可以在Firefox中创建。

在这里你可以找到一个脚本,大多数浏览器的工作原理:

window.sidebar.addPanel(title, url,""); 

它只是增加了一个侧边栏条目Firefox的,这是不是很用户:http://labnol.blogspot.com/2006/01/add-to-favorites-ie-bookmark-firefox.html

正如你可以在该行看到友善。

+0

如何在Firefox中添加边栏书签? – 2010-06-03 10:42:12

+0

我添加了一个示例链接和Firefox侧边栏代码。 – 2ndkauboy 2010-06-03 10:46:16

+0

另一种解决方案是使用诸如http://www.addthis.com这样的东西,它会给用户更多选项来为页面添加书签,因为他可能不会在PC上坐在他的浏览器中使用社会书签插件。 – 2ndkauboy 2010-06-03 10:54:10

1

对于Firefox无需设置为书签任何JavaScript,只有冠军相对的锚标记=“侧边栏”能做到这一点的功能

<a href="http://www.google.com" title="Google" rel="sidebar">Bookmark This Page</a> 

我测试在FF9

相关问题