Добавление закладок браузера с помощью JavaScript - PullRequest
4 голосов
/ 03 июня 2010

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

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

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

Ответы [ 4 ]

1 голос
/ 31 января 2012

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

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

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

1 голос
/ 03 июня 2010

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

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

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

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

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

1 голос
/ 03 июня 2010

Я написал этот фрагмент кода, который работает для 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();
    }
}
1 голос
/ 03 июня 2010

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

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

...