Проблема с закладками JavaScript в Firefox
-
01-07-2019 - |
Вопрос
Я использую следующий код JavaScript:
<script language="JavaScript1.2" type="text/javascript">
function CreateBookmarkLink(title, url) {
if (window.sidebar) {
window.sidebar.addPanel(title, url,"");
} else if( window.external ) {
window.external.AddFavorite( url, title); }
else if(window.opera && window.print) {
return true; }
}
</script>
Это создаст закладку для Firefox и IE.Но ссылка для Firefox будет отображаться на боковой панели браузера, а не на главном экране.Лично меня это очень раздражает и я ищу лучшее решение.Конечно, можно отредактировать закладку вручную, чтобы она была нет отображаются на боковой панели, но для этого требуются дополнительные действия.Я просто хочу, чтобы люди могли добавлять в закладки страницу (в URL-адресе которой содержится много информации GET, которая используется для построения определенной схемы) простым способом.
Боюсь, что Firefox вообще не сможет отображать страницу на главном экране (поскольку поиск по этой теме в Google не дал практически ничего, что стоило бы использовать), но я мог что-то пропустить.Если у кого-нибудь есть идеи, возможно ли это или есть обходной путь, я хотел бы об этом услышать.
Решение
Я думаю, что это единственное решение для Firefox...У меня есть функция получше для этого действия, она работает даже для Opera и показывает сообщение для других «неподдерживаемых» браузеров.
<script type="text/javascript">
function addBookmark(url,name){
if(window.sidebar && window.sidebar.addPanel) {
window.sidebar.addPanel(name,url,''); //obsolete from FF 23.
} else if(window.opera && window.print) {
var e=document.createElement('a');
e.setAttribute('href',url);
e.setAttribute('title',name);
e.setAttribute('rel','sidebar');
e.click();
} else if(window.external) {
try {
window.external.AddFavorite(url,name);
}
catch(e){}
}
else
alert("To add our website to your bookmarks use CTRL+D on Windows and Linux and Command+D on the Mac.");
}
</script>
Другие советы
Для Firefox не нужно устанавливать какой-либо JavaScript для закладки страницы по сценарию, только тег привязки с заголовок и rel="боковая панель" могу сделать эту функцию
<a href="http://www.google.com" title="Google" rel="sidebar">Bookmark This Page</a>
Я протестировал его на FF9, и он работает нормально.
Когда вы нажмете на ссылку, Firefox откроет диалоговое окно. Новая закладка и если вы не хотите загружать эту закладку на боковую панель, снимите флажок Загрузите эту закладку на боковую панель из диалогового окна.
У вас особый случай
if (window.sidebar)
а затем ветка для «еще» - разве Firefox не попадет в первую ветку и, следовательно, не добавит только панель?
Ходзё,
Кажется, это единственный способ добавить закладку для Firefox.Итак, FF должен попасть в первую ветку, чтобы вообще что-то произошло.Я погуглил еще немного, но мне действительно кажется, что это невозможно правильно решить в FF...