Agregar a favoritos JavaScript [duplicar]


Esta pregunta ya tiene una respuesta aquí:

¿Hay algún marcador/agregar a favoritos entre navegadores usando JavaScript?

Buscó alguna lista pero ninguna funciona. ¿Puede sugerir alguna?

Author: Brett DeWoody, 2010-06-11

4 answers

JQuery Version

JavaScript (modificado de un script que encontré en el sitio de alguien-simplemente no puedo encontrar el sitio de nuevo, así que no puedo darle crédito a la persona):

$(document).ready(function() {
  $("#bookmarkme").click(function() {
    if (window.sidebar) { // Mozilla Firefox Bookmark
      window.sidebar.addPanel(location.href,document.title,"");
    } else if(window.external) { // IE Favorite
      window.external.AddFavorite(location.href,document.title); }
    else if(window.opera && window.print) { // Opera Hotlist
      this.title=document.title;
      return true;
    }
  });
});

HTML:

<a id="bookmarkme" href="#" rel="sidebar" title="bookmark this page">Bookmark This Page</a>

IE mostrará un error si no lo ejecuta desde un servidor (no permite marcadores JavaScript a través de JavaScript cuando lo ve como un file://....

Si necesita un script más completo, siempre puede comprar uno desde esta página (No, no estoy afiliado con ese sitio... LOL).

 49
Author: Gert Grenander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-13 13:05:19

Estoy pensando que no. Los marcadores / favoritos deben estar bajo el control del usuario, imagine si cualquier sitio que visitó podría insertarse en sus marcadores con solo un poco de javascript.

 8
Author: bwarner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-11 17:18:50
function bookmark(title, url) {
    if(document.all) { // ie
        window.external.AddFavorite(url, title);
    }
    else if(window.sidebar) { // firefox
        window.sidebar.addPanel(title, url, "");
    }
    else if(window.opera && window.print) { // opera
        var elem = document.createElement('a');
        elem.setAttribute('href',url);
        elem.setAttribute('title',title);
        elem.setAttribute('rel','sidebar');
        elem.click(); // this.title=document.title;
    }
}

He utilizado esto y funciona muy bien en IE, FF, Netscape. Chrome, Opera y safari no son compatibles!

 8
Author: Prashant Patil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-06 13:34:49

¿Qué tal usar una solución drop-in como ShareThis o AddThis? Tienen una funcionalidad similar, por lo que es muy posible que ya hayan resuelto el problema.

El código de AddThis tiene una enorme bifurcación de la versión del navegador if/else para guardar favoritos, sin embargo, con la mayoría de las ramas que terminan en pedir al usuario que agregue manualmente el favorito ellos mismos, por lo que estoy pensando que no existe tal implementación de JavaScript puro.

De lo contrario, si solo necesita soporte para IE y Firefox, tienes la ventana de IE .externalAddFavorite () y la ventana de Mozilla .lateral.addPanel( ).

 3
Author: ajm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-11 19:51:02