Добавление закладок браузера с помощью JavaScript

У меня есть веб-страница ASP.NET с кнопкой. При нажатии на кнопку закладка должна быть сохранена в браузере, и когда пользователь щелкнет закладку, он должен перейти на http://google.com. .

Как мне убедиться, что он работает практически со всеми стандартными браузерами или хотя бы с IE, Mozilla Firefox, Opera и Google Chrome.

Другой случай, я создаю 2-ю закладку таким же образом. Но когда пользователь нажимает на вторую закладку, он должен запустить фрагмент кода JavaScript.


person Arjun Vasudevan    schedule 03.06.2010    source источник


Ответы (4)


Невозможно сделать из соображений безопасности. Раньше это было возможно с помощью проприетарной команды IE, но я думаю, что это закончилось в IE 7. Определенно невозможно в других.

Связанное обсуждение на Mozilla Developer Central

person Pekka    schedule 03.06.2010
comment
Или, по крайней мере, дать пользователю возможность добавить закладку, т.е. можно ли запросить разрешение пользователя на ее добавление? - person Arjun Vasudevan; 03.06.2010
comment
@Arjun Я думаю, что это (спрашивая разрешения пользователя) происходит в наши дни, когда вы вызываете window.external.AddFavorite в IE. Я не знаю другого способа сделать это, кроме как попросить пользователя нажать Ctrl+D. - person Pekka; 03.06.2010

В Firefox насколько мне известно на данный момент нет функции добавления обычной закладки. В Firefox можно создать только боковую закладку.

Здесь вы можете найти сценарий, который работает для большинства браузеров: http://labnol.blogspot.com/2006/01/add-to-favorites-ie-bookmark-firefox.html

Как вы можете видеть в этой строке:

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

он только добавляет запись на боковую панель для Firefox, что не очень удобно для пользователя.

person 2ndkauboy    schedule 03.06.2010
comment
Другим решением может быть использование чего-то вроде addthis.com, что даст пользователю еще больше возможностей добавить страницу в закладки как он может не сидеть за своим компьютером, чтобы использовать плагин социальных закладок в своем браузере. - person 2ndkauboy; 03.06.2010

Для FireFox не нужно устанавливать какой-либо javascript для закладки, эту функцию может выполнять только тег привязки с title и rel="sidebar".

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

Я проверил это на FF9

person Atul Kushwah    schedule 31.01.2012

Я написал этот фрагмент кода, который работает для 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();
    }
}
person Arjun Vasudevan    schedule 03.06.2010
comment
Но это добавит (как я уже объяснил) только боковую панель для Firefox. И, к сожалению, НЕТ решения для Chrome или Safari. - person 2ndkauboy; 03.06.2010