2010-06-03 210 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